diff options
Diffstat (limited to 'gcc/testsuite/gcc.dg/cpp/defined.c')
| -rw-r--r-- | gcc/testsuite/gcc.dg/cpp/defined.c | 25 |
1 files changed, 21 insertions, 4 deletions
diff --git a/gcc/testsuite/gcc.dg/cpp/defined.c b/gcc/testsuite/gcc.dg/cpp/defined.c index de1ef2993bc..864ef1ddd89 100644 --- a/gcc/testsuite/gcc.dg/cpp/defined.c +++ b/gcc/testsuite/gcc.dg/cpp/defined.c @@ -21,7 +21,7 @@ /* The behaviour of "defined" when it comes from a macro expansion is now documented. */ -#if is_Z_defined /* { dg-warning "macro expansion" } */ +#if is_Z_defined #error Macro expanding into defined operator test 1 #endif @@ -31,7 +31,7 @@ #error Z is defined #endif -#if !is_Z_defined /* { dg-warning "macro expansion" } */ +#if !is_Z_defined #error Macro expanding into defined operator test 2 #endif @@ -53,7 +53,7 @@ /* The behaviour of "defined" when it comes from a macro expansion is now documented. */ -#if is_Z_defined /* { dg-warning "macro expansion" } */ +#if is_Z_defined #error Macro expanding into defined operator test 1 #endif @@ -63,6 +63,23 @@ #error Z is defined #endif -#if !is_Z_defined /* { dg-warning "macro expansion" } */ +#if !is_Z_defined #error Macro expanding into defined operator test 2 #endif + +/* Use of defined in different contexts. */ + +#define bad1 defined +#if !bad1 Z /* { dg-warning "may not be portable" } */ +#error Z is defined +#endif + +#if !bad1 (Z) /* { dg-warning "may not be portable" } */ +#error Z is defined +#endif + +#define bad2 defined (Z +#if !bad2) /* { dg-warning "may not be portable" } */ +#error Z is defined +#endif + |

