OSDN Git Service

PR target/32338
[pf3gnuchains/gcc-fork.git] / gcc / testsuite / gcc.dg / cpp / poison.c
1 /* { dg-do preprocess }
2    { dg-options "-fno-show-column" } */
3
4 #pragma GCC poison foo
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" } */
13 #define foo6 123
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!
19 #endif
20 #if defined(foo6)       /* { dg-error "foo6" "#if defined foo6" } */
21 #error foo6 still defined!
22 #else
23 foo6                    /* { dg-error "foo6" "use of foo6" } */
24 #endif
25 #pragma GCC poison