From 554fd8c5195424bdbcabf5de30fdc183aba391bd Mon Sep 17 00:00:00 2001 From: upstream source tree Date: Sun, 15 Mar 2015 20:14:05 -0400 Subject: obtained gcc-4.6.4.tar.bz2 from upstream website; verified gcc-4.6.4.tar.bz2.sig; imported gcc-4.6.4 source tree from verified upstream tarball. downloading a git-generated archive based on the 'upstream' tag should provide you with a source tree that is binary identical to the one extracted from the above tarball. if you have obtained the source via the command 'git clone', however, do note that line-endings of files in your working directory might differ from line-endings of the respective files in the upstream repository. --- gcc/testsuite/gcc.dg/cpp/poison.c | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) create mode 100644 gcc/testsuite/gcc.dg/cpp/poison.c (limited to 'gcc/testsuite/gcc.dg/cpp/poison.c') diff --git a/gcc/testsuite/gcc.dg/cpp/poison.c b/gcc/testsuite/gcc.dg/cpp/poison.c new file mode 100644 index 000000000..f85405c09 --- /dev/null +++ b/gcc/testsuite/gcc.dg/cpp/poison.c @@ -0,0 +1,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 -- cgit v1.2.3