+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.
--- /dev/null
+/* 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:
+}
--- /dev/null
+/* 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;
+}