diff options
Diffstat (limited to 'gcc/testsuite/gcc.dg/cpp/extratokens.c')
-rw-r--r-- | gcc/testsuite/gcc.dg/cpp/extratokens.c | 38 |
1 files changed, 38 insertions, 0 deletions
diff --git a/gcc/testsuite/gcc.dg/cpp/extratokens.c b/gcc/testsuite/gcc.dg/cpp/extratokens.c new file mode 100644 index 000000000..11d094af5 --- /dev/null +++ b/gcc/testsuite/gcc.dg/cpp/extratokens.c @@ -0,0 +1,38 @@ +/* Copyright (C) 2000, 2008 Free Software Foundation, Inc. */ + +/* { dg-do preprocess } */ +/* { dg-options "-Wno-deprecated" } */ + +/* Tests all directives that do not permit excess tokens at the end of + the line. */ + +/* Source: Neil Booth, 4 Dec 2000. The combination of separate test + cases. */ + +#ifdef foo bar /* { dg-warning "extra tokens" "tokens after #ifdef" } */ +#endif + +#ifndef foo bar /* { dg-warning "extra tokens" "tokens after #ifndef" } */ +#endif + +#if 1 +#if 0 +#else foo /* { dg-warning "extra tokens" "tokens after #else" } */ +#endif / /* { dg-warning "extra tokens" "tokens after #endif" } */ +#endif + +#undef foo bar /* { dg-warning "extra tokens" "tokens after #undef" } */ + +#assert foo(bar) bar /* { dg-warning "extra tokens" "tokens after #assert" } */ + +#unassert foo(bar) b /* { dg-warning "extra tokens" "tokens after #unassert" } */ + +#include "mi1c.h" bar /* { dg-warning "extra tokens" "tokens after #include" } */ + +#ident "something" bar /* { dg-warning "extra tokens" "tokens after #ident" } */ + +# 36 "file.c" 3 + +/* ... but in a system header, it's acceptable. */ +#ifdef KERNEL +#endif KERNEL /* { dg-bogus "extra tokens" "bad warning" } */ |