diff options
Diffstat (limited to 'gcc/testsuite/gcc.dg/cpp')
-rw-r--r-- | gcc/testsuite/gcc.dg/cpp/lineflags.c | 35 | ||||
-rw-r--r-- | gcc/testsuite/gcc.dg/cpp/poison.c | 4 | ||||
-rw-r--r-- | gcc/testsuite/gcc.dg/cpp/redef2.c | 4 | ||||
-rw-r--r-- | gcc/testsuite/gcc.dg/cpp/skipping.c | 5 |
4 files changed, 44 insertions, 4 deletions
diff --git a/gcc/testsuite/gcc.dg/cpp/lineflags.c b/gcc/testsuite/gcc.dg/cpp/lineflags.c new file mode 100644 index 0000000..ff11291 --- /dev/null +++ b/gcc/testsuite/gcc.dg/cpp/lineflags.c @@ -0,0 +1,35 @@ +/* Copyright (C) 2000 Free Software Foundation, Inc. */ + +/* { dg-do preprocess } */ +/* { dg-options "-fno-show-column" } */ + +/* This tests whether various combinations of flags are correctly + accepted after #line. + + Neil Booth, 8 Dec 2000. */ + +#line 12 "file" 3 /* { dg-warning "extra tokens" } */ + +# 14 "file" 1 1 /* { dg-error "invalid flag" } */ +# 15 "file" 1 2 /* { dg-error "invalid flag" } */ +# 16 "file" 1 3 3 /* { dg-error "invalid flag" } */ +# 17 "file" 1 4 /* { dg-error "invalid flag" } */ +# 18 "file" 2 3 4 4 /* { dg-error "invalid flag" } */ +# 19 "file" 2 4 /* { dg-error "invalid flag" } */ +# 20 "file" 2 2 /* { dg-error "invalid flag" } */ +# 21 "file" 2 1 /* { dg-error "invalid flag" } */ +# 22 "file" 4 /* { dg-error "invalid flag" } */ +# 23 "file" 4 5 /* { dg-error "invalid flag" } */ +# 24 "file" 0 /* { dg-error "invalid flag" } */ +# 25 "file" 5 /* { dg-error "invalid flag" } */ +# 26 "file" foo /* { dg-error "invalid flag" } */ + + +# 29 "file" 1 /* { dg-bogus "invalid flag" } */ +# 30 "file" 2 /* { dg-bogus "invalid flag" } */ +# 31 "file" 1 3 /* { dg-bogus "invalid flag" } */ +# 32 "file" 2 3 /* { dg-bogus "invalid flag" } */ +# 33 "file" 1 3 4 /* { dg-bogus "invalid flag" } */ +# 34 "file" 2 3 4 /* { dg-bogus "invalid flag" } */ +# 35 "file" 3 /* { dg-bogus "invalid flag" } */ +# 36 "file" 3 4 /* { dg-bogus "invalid flag" } */ diff --git a/gcc/testsuite/gcc.dg/cpp/poison.c b/gcc/testsuite/gcc.dg/cpp/poison.c index 3670a76..fd3f536 100644 --- a/gcc/testsuite/gcc.dg/cpp/poison.c +++ b/gcc/testsuite/gcc.dg/cpp/poison.c @@ -15,10 +15,10 @@ foo5 /* { dg-error "foo5" "use of foo5" } */ #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 poisoned! /* { dg-error "foo6" "poisoned identifiers" } */ +#error hey! foo6 defined! #endif #if defined(foo6) /* { dg-error "foo6" "#if defined foo6" } */ -#error foo6 still poisoned! /* { dg-error "foo6" "poisoned identifiers" } */ +#error foo6 still defined! #else foo6 /* { dg-error "foo6" "use of foo6" } */ #endif diff --git a/gcc/testsuite/gcc.dg/cpp/redef2.c b/gcc/testsuite/gcc.dg/cpp/redef2.c index 5838c47..1656ab8 100644 --- a/gcc/testsuite/gcc.dg/cpp/redef2.c +++ b/gcc/testsuite/gcc.dg/cpp/redef2.c @@ -26,5 +26,5 @@ { dg-warning "previous" "prev def ro" { target *-*-* } 11 } { dg-warning "previous" "prev def va" { target *-*-* } 14 } - { dg-warning "named variable" "named" { target *-*-* } 14 } - { dg-warning "anonymous variable" "anon" { target *-*-* } 15 } */ + { dg-warning "named var" "named variadic" { target *-*-* } 14 } + { dg-warning "anonymous var" "anon variadic" { target *-*-* } 15 } */ diff --git a/gcc/testsuite/gcc.dg/cpp/skipping.c b/gcc/testsuite/gcc.dg/cpp/skipping.c index d87ea70..b8daa89 100644 --- a/gcc/testsuite/gcc.dg/cpp/skipping.c +++ b/gcc/testsuite/gcc.dg/cpp/skipping.c @@ -18,3 +18,8 @@ F( /* No diagnostic: don't even try to expand it. */ #else #error Macros not expanded in #elif #endif + +/* Check we don't warn about bad identifiers when skipping. */ +#if 0 +#define foo __VA_ARGS__ /* { dg-bogus "warned about identifier" } */ +#endif |