summaryrefslogtreecommitdiffstats
path: root/gcc/testsuite/gcc.dg/cpp/defined.c
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/testsuite/gcc.dg/cpp/defined.c')
-rw-r--r--gcc/testsuite/gcc.dg/cpp/defined.c25
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
+
OpenPOWER on IntegriCloud