1 /* { dg-do compile } */
2 /* { dg-options "-std=gnu89 -pedantic-errors" } */
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   /* { dg-error "mixed declarations" "" { target *-*-* } .-1 } */
16   g i;   /* { dg-error "unknown type name 'g'" } */
17 }
18 
19 typedef int a;
20 
f2()21 int f2()
22 {
23 b: a: ; /* { dg-bogus "a label can only be part of a statement" } */
24 c: d e; /* { dg-error "a label can only be part of a statement" } */
25 /* { dg-error "unknown type name 'd'" "unknown type name" { target *-*-* } .-1 } */
26    ;
27 }
28 
f3()29 void *f3()
30 {
31   return x; /* { dg-bogus "'x' undeclared" } */
32 }
33 
34