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