1 /* { dg-do compile } */
2 /* { dg-options "-std=gnu89" } */
3 
4 w *x; /* { dg-error "unknown type name 'w'" } */
5 
6 int z;    /* { dg-message "previous declaration of 'z'" } */
7 y         /* { dg-error "unknown type name 'y'" } */
8   * z;    /* { dg-error "conflicting " } */
9 
f1()10 int f1()
11 {
12   int d, e;
13   d * e; /* { dg-bogus "unknown type name 'd'" } */
14   g * h; /* { dg-error "unknown type name 'g'" } */
15   g i;   /* { dg-error "unknown type name 'g'" } */
16 }
17 
18 typedef int a;
19 
f2()20 int f2()
21 {
22 b: a: ; /* { dg-bogus "a label can only be part of a statement" } */
23 c: d e; /* { dg-error "a label can only be part of a statement" } */
24 /* { dg-error "unknown type name 'd'" "unknown type name" { target *-*-* } 23 } */
25    ;
26 }
27 
f3()28 void *f3()
29 {
30   return x; /* { dg-bogus "'x' undeclared" } */
31 }
32 
33