blob: f85405c0983e3b8671014ad86613dd821f843f75 [file] [log] [blame]
/* { dg-do preprocess } */
#pragma GCC poison foo
foo /* { dg-error "foo" "use of foo" } */
#pragma GCC poison foo2 foo3
foo2 /* { dg-error "foo2" "use of foo2" } */
foo3 /* { dg-error "foo3" "use of foo3" } */
#pragma GCC poison foo4 foo5
foo4 /* { dg-error "foo4" "use of foo4" } */
foo5 /* { dg-error "foo5" "use of foo5" } */
#pragma GCC poison +++ /* { dg-error "invalid" "poison non-identifier" } */
#define foo6 123
#pragma GCC poison foo6 /* { dg-warning "foo6" "poison defined macro" } */
#define foo6 345 /* { dg-error "foo6" "def of foo6" } */
#define foo6 456 /* { dg-error "foo6" "redef of foo6" } */
#ifdef foo6 /* { dg-error "foo6" "#ifdef foo6" } */
#error hey! foo6 defined!
#endif
#if defined(foo6) /* { dg-error "foo6" "#if defined foo6" } */
#error foo6 still defined!
#else
foo6 /* { dg-error "foo6" "use of foo6" } */
#endif
#pragma GCC poison