1 /* { dg-do preprocess }
2 { dg-options "-fno-show-column" } */
5 foo
/* { dg-error "foo" "use of foo" } */
6 #pragma GCC poison foo2 foo3
7 foo2
/* { dg-error "foo2" "use of foo2" } */
8 foo3
/* { dg-error "foo3" "use of foo3" } */
9 #pragma GCC poison foo4 foo5
10 foo4
/* { dg-error "foo4" "use of foo4" } */
11 foo5
/* { dg-error "foo5" "use of foo5" } */
12 #pragma GCC poison +++ /* { dg-error "invalid" "poison non-identifier" } */
14 #pragma GCC poison foo6 /* { dg-warning "foo6" "poison defined macro" } */
15 #define foo6 345 /* { dg-error "foo6" "def of foo6" } */
16 #define foo6 456 /* { dg-error "foo6" "redef of foo6" } */
17 #ifdef foo6 /* { dg-error "foo6" "#ifdef foo6" } */
18 #error hey! foo6 defined!
20 #if defined(foo6) /* { dg-error "foo6" "#if defined foo6" } */
21 #error foo6 still defined!
23 foo6
/* { dg-error "foo6" "use of foo6" } */