summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorneil <neil@138bc75d-0d04-0410-961f-82ee72b054a4>2001-02-14 07:39:40 +0000
committerneil <neil@138bc75d-0d04-0410-961f-82ee72b054a4>2001-02-14 07:39:40 +0000
commitd4fd22f2e3fbdf417a6e7e8230bfa34a04d75b31 (patch)
treeda67ee7b4c7e34d93adb8f2c2fa6dfc7c6339a42
parentae2348f67b17faf87574e6c1e60328de1900aee5 (diff)
downloadppe42-gcc-d4fd22f2e3fbdf417a6e7e8230bfa34a04d75b31.tar.gz
ppe42-gcc-d4fd22f2e3fbdf417a6e7e8230bfa34a04d75b31.zip
* gcc.dg/cpp/sysmac1.c, sysmac2.c: New testcases.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@39662 138bc75d-0d04-0410-961f-82ee72b054a4
-rw-r--r--gcc/testsuite/ChangeLog4
-rw-r--r--gcc/testsuite/gcc.dg/cpp/sysmac1.c32
-rw-r--r--gcc/testsuite/gcc.dg/cpp/sysmac2.c34
3 files changed, 70 insertions, 0 deletions
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index 85123ffa415..d5b4ff1f8e5 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -1,3 +1,7 @@
+2001-02-14 Neil Booth <neil@daikokuya.demon.co.uk>
+
+ * gcc.dg/cpp/sysmac1.c, sysmac2.c: New tests.
+
2001-02-12 Geoffrey Keating <geoffk@redhat.com>
* g++.dg/vtgc1.C: Update for new ABI.
diff --git a/gcc/testsuite/gcc.dg/cpp/sysmac1.c b/gcc/testsuite/gcc.dg/cpp/sysmac1.c
new file mode 100644
index 00000000000..9925a7168d3
--- /dev/null
+++ b/gcc/testsuite/gcc.dg/cpp/sysmac1.c
@@ -0,0 +1,32 @@
+/* Copyright (C) 2001 Free Software Foundation, Inc. */
+
+/* { dg-do preprocess } */
+/* { dg-options "-std=gnu99 -pedantic -Wtraditional" } */
+
+/* Tests diagnostics are suppressed for some macros defined in system
+ headers. */
+
+/* Source: Neil Booth, 15 Jan 2001. */
+
+#define uint 1U
+#define str(x) x
+#define foo(x, y...) bar(x, ##y) /* { dg-warning "named variadic macros" } */
+
+# 16 "system.h" 1 3 /* { dg-warning "followed by integer" } */
+
+#define sys_uint 1U
+#define sys_str(x) x
+#define sys_foo(x, y...) bar (x, ##y)
+
+# 22 "bar.c" 2 /* { dg-warning "expected to return" } */
+
+#if uint /* { dg-warning "traditional C rejects" } */
+#endif
+#if sys_uint /* { dg-bogus "traditional C rejects" } */
+#endif
+
+(str); /* { dg-warning "used with arguments" } */
+(sys_str); /* { dg-bogus "used with arguments" } */
+
+foo (one_arg); /* { dg-warning "requires rest arguments" } */
+sys_foo (one_arg); /* { dg-bogus "requires rest arguments" } */
diff --git a/gcc/testsuite/gcc.dg/cpp/sysmac2.c b/gcc/testsuite/gcc.dg/cpp/sysmac2.c
new file mode 100644
index 00000000000..b15b25fa7be
--- /dev/null
+++ b/gcc/testsuite/gcc.dg/cpp/sysmac2.c
@@ -0,0 +1,34 @@
+/* Copyright (C) 2001 Free Software Foundation, Inc. */
+
+/* { dg-do compile } */
+/* { dg-options "-std=gnu99 -pedantic -Wtraditional" } */
+
+/* Tests diagnostics are suppressed for some macros defined in system
+ headers. */
+
+/* Source: Neil Booth, 15 Jan 2001. */
+
+#define uint 1U
+#define fl 1.0f
+#define ld 1.0L
+
+# 16 "system.h" 1 3 /* { dg-warning "followed by integer" } */
+
+#define sys_uint 1U
+#define sys_fl 1.0f
+#define sys_ld 1.0L
+
+# 22 "bar.c" 2 /* { dg-warning "expected to return" } */
+
+int
+main ()
+{
+ int u1 = uint; /* { dg-warning "traditional C rejects" } */
+ int u2 = sys_uint; /* { dg-bogus "traditional C rejects" } */
+ float f1 = fl; /* { dg-warning "traditional C rejects" } */
+ float f2 = sys_fl; /* { dg-bogus "traditional C rejects" } */
+ long double ld1 = ld; /* { dg-warning "traditional C rejects" } */
+ long double l2 = sys_ld; /* { dg-bogus "traditional C rejects" } */
+
+ return 0;
+}
OpenPOWER on IntegriCloud