aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorKaveh R. Ghazi <ghazi@caip.rutgers.edu>2000-08-29 17:38:09 +0000
committerKaveh Ghazi <ghazi@gcc.gnu.org>2000-08-29 17:38:09 +0000
commit5c5d1cd68a748299a244a6b9fd7c3fce2f09d582 (patch)
treee5f4558057208d7bfac4fdc18c648b7a66643f0d /gcc
parent6ad79f1b8b9d061fb3d81b6f950f7115d644f0b6 (diff)
downloadgcc-5c5d1cd68a748299a244a6b9fd7c3fce2f09d582.zip
gcc-5c5d1cd68a748299a244a6b9fd7c3fce2f09d582.tar.gz
gcc-5c5d1cd68a748299a244a6b9fd7c3fce2f09d582.tar.bz2
* wtr-label-1.c, wtr-suffix-1.c: New tests.
From-SVN: r36041
Diffstat (limited to 'gcc')
-rw-r--r--gcc/testsuite/ChangeLog4
-rw-r--r--gcc/testsuite/gcc.dg/wtr-label-1.c50
-rw-r--r--gcc/testsuite/gcc.dg/wtr-suffix-1.c35
3 files changed, 89 insertions, 0 deletions
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index 6466b59..3f5dedb 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -1,3 +1,7 @@
+2000-08-29 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
+
+ * wtr-label-1.c, wtr-suffix-1.c: New tests.
+
2000-08-27 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
* gcc.dg/return-type-2.c: New test.
diff --git a/gcc/testsuite/gcc.dg/wtr-label-1.c b/gcc/testsuite/gcc.dg/wtr-label-1.c
new file mode 100644
index 0000000..b8d494e
--- /dev/null
+++ b/gcc/testsuite/gcc.dg/wtr-label-1.c
@@ -0,0 +1,50 @@
+/* Test for -Wtraditional warnings on label conflicts with identifiers.
+ Note, gcc should omit these warnings in system header files.
+ Origin: Kaveh R. Ghazi <ghazi@caip.rutgers.edu> 8/24/2000. */
+/* { dg-do compile } */
+/* { dg-options "-Wtraditional" } */
+
+enum foo1 { a };
+struct foo2 { int i; };
+union foo3 { int j; };
+int foo4;
+typedef int foo5;
+
+void
+testfunc1 (int foo6)
+{
+ int foo7;
+
+ foo1:
+ foo2:
+ foo3:
+ foo4: /* { dg-warning "traditional C lacks.*`foo4' conflicts" "label conflicts with identifier" } */
+ foo5: /* { dg-warning "traditional C lacks.*`foo5' conflicts" "label conflicts with identifier" } */
+ foo6: /* { dg-warning "traditional C lacks.*`foo6' conflicts" "label conflicts with identifier" } */
+ foo7: /* { dg-warning "traditional C lacks.*`foo7' conflicts" "label conflicts with identifier" } */
+ testfunc1: /* { dg-warning "traditional C lacks.*`testfunc1' conflicts" "label conflicts with identifier" } */
+ a: /* { dg-warning "traditional C lacks.*`a' conflicts" "label conflicts with identifier" } */
+ i:
+ j:
+}
+
+#line 32 "sys-header.h" 3
+/* We are in system headers now, no -Wtraditional warnings should issue. */
+
+void
+testfunc2 (int foo6)
+{
+ int foo7;
+
+ foo1:
+ foo2:
+ foo3:
+ foo4:
+ foo5:
+ foo6:
+ foo7:
+ testfunc2:
+ a:
+ i:
+ j:
+}
diff --git a/gcc/testsuite/gcc.dg/wtr-suffix-1.c b/gcc/testsuite/gcc.dg/wtr-suffix-1.c
new file mode 100644
index 0000000..3a16378
--- /dev/null
+++ b/gcc/testsuite/gcc.dg/wtr-suffix-1.c
@@ -0,0 +1,35 @@
+/* Test for -Wtraditional warnings on integer constant suffixes.
+ Note, gcc should omit these warnings in system header files.
+ Origin: Kaveh R. Ghazi <ghazi@caip.rutgers.edu> 8/24/2000. */
+/* { dg-do compile } */
+/* { dg-options "-Wtraditional" } */
+
+void
+testfunc (void)
+{
+ int i;
+ double f;
+
+ i = 1L;
+ i = 1l;
+ i = 1U; /* { dg-warning "traditional C rejects the `U' suffix" "numeric constant suffix" } */
+ i = 1u; /* { dg-warning "traditional C rejects the `u' suffix" "numeric constant suffix" } */
+ f = 1.0;
+ f = 1.0F; /* { dg-warning "traditional C rejects the `F' suffix" "numeric constant suffix" } */
+ f = 1.0f; /* { dg-warning "traditional C rejects the `f' suffix" "numeric constant suffix" } */
+ f = 1.0L; /* { dg-warning "traditional C rejects the `L' suffix" "numeric constant suffix" } */
+ f = 1.0l; /* { dg-warning "traditional C rejects the `l' suffix" "numeric constant suffix" } */
+
+#line 24 "sys-header.h" 3
+/* We are in system headers now, no -Wtraditional warnings should issue. */
+
+ i = 1L;
+ i = 1l;
+ i = 1U;
+ i = 1u;
+ f = 1.0;
+ f = 1.0F;
+ f = 1.0f;
+ f = 1.0L;
+ f = 1.0l;
+}