diff options
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/testsuite/gcc.dg/cpp-hash1.c | 9 | ||||
-rw-r--r-- | gcc/testsuite/gcc.dg/cpp-hash2.c | 15 | ||||
-rw-r--r-- | gcc/testsuite/gcc.dg/cpp-ifparen.c | 7 |
3 files changed, 31 insertions, 0 deletions
diff --git a/gcc/testsuite/gcc.dg/cpp-hash1.c b/gcc/testsuite/gcc.dg/cpp-hash1.c new file mode 100644 index 0000000..a4c4b35 --- /dev/null +++ b/gcc/testsuite/gcc.dg/cpp-hash1.c @@ -0,0 +1,9 @@ +/* Test for proper handling of # in object-like macros. + From Linux kernel. */ +/* { dg-do preprocess } */ + +#define FIXUP .section ".fixup",#alloc,#execinstr + +FIXUP + +/* { dg-bogus "not followed by" "object-like #" { target *-*-* } 3 } */ diff --git a/gcc/testsuite/gcc.dg/cpp-hash2.c b/gcc/testsuite/gcc.dg/cpp-hash2.c new file mode 100644 index 0000000..b47c2a2 --- /dev/null +++ b/gcc/testsuite/gcc.dg/cpp-hash2.c @@ -0,0 +1,15 @@ +/* Test for erroneously thinking comments are token-pastes. + From XFree86 4.0. */ +/* { dg-do preprocess } */ +/* { dg-options "-traditional" } */ + +#ifndef foo +#define foo /**/ +#endif + +#ifndef foo +#define foo /* as nothing */ +#endif + +/* { dg-bogus "(start|end) of macro" "/**/ at end" { target *-*-* } 7 } */ +/* { dg-bogus "(start|end) of macro" "comment at end" { target *-*-* } 11 } */ diff --git a/gcc/testsuite/gcc.dg/cpp-ifparen.c b/gcc/testsuite/gcc.dg/cpp-ifparen.c new file mode 100644 index 0000000..39e112e --- /dev/null +++ b/gcc/testsuite/gcc.dg/cpp-ifparen.c @@ -0,0 +1,7 @@ +#if 2048 < (16 * (40) + 192) +#error /* { dg-bogus "error" "with paren" } */ +#endif + +#if 2048 < (16 * 40 + 192) +#error /* { dg-bogus "error" "without paren" } */ +#endif |