summaryrefslogtreecommitdiff
path: root/gcc/testsuite/gcc.dg/cpp/poison.c
blob: f85405c0983e3b8671014ad86613dd821f843f75 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
/* { 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