OSDN Git Service

* c-parse.in (datadef): Use pedwarn rather than error and warning
authorjsm28 <jsm28@138bc75d-0d04-0410-961f-82ee72b054a4>
Tue, 26 Oct 2004 21:01:51 +0000 (21:01 +0000)
committerjsm28 <jsm28@138bc75d-0d04-0410-961f-82ee72b054a4>
Tue, 26 Oct 2004 21:01:51 +0000 (21:01 +0000)
for diagnostic in case of no declaration specifiers.

testsuite:
* gcc.dg/decl-nospec-1.c, gcc.dg/decl-nospec-2.c,
gcc.dg/decl-nospec-3.c: New tests.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@89605 138bc75d-0d04-0410-961f-82ee72b054a4

gcc/ChangeLog
gcc/c-parse.in
gcc/testsuite/ChangeLog
gcc/testsuite/gcc.dg/decl-nospec-1.c [new file with mode: 0644]
gcc/testsuite/gcc.dg/decl-nospec-2.c [new file with mode: 0644]
gcc/testsuite/gcc.dg/decl-nospec-3.c [new file with mode: 0644]

index a99bb00..2851099 100644 (file)
@@ -1,3 +1,8 @@
+2004-10-26  Joseph S. Myers  <jsm@polyomino.org.uk>
+
+       * c-parse.in (datadef): Use pedwarn rather than error and warning
+       for diagnostic in case of no declaration specifiers.
+
 2004-10-26  Richard Sandiford  <rsandifo@redhat.com>
 
        PR bootstrap/15747
index e1146b0..1affab4 100644 (file)
@@ -407,11 +407,7 @@ save_obstack_position:
 
 datadef:
          setspecs notype_initdecls ';'
-               { if (pedantic)
-                   error ("ISO C forbids data definition with no type or storage class");
-                 else
-                   warning ("data definition has no type or storage class");
-
+               { pedwarn ("data definition has no type or storage class");
                  POP_DECLSPEC_STACK; }
         | declspecs_nots setspecs notype_initdecls ';'
                { POP_DECLSPEC_STACK; }
index 4496f97..5dc3407 100644 (file)
@@ -1,3 +1,8 @@
+2004-10-26  Joseph S. Myers  <jsm@polyomino.org.uk>
+
+       * gcc.dg/decl-nospec-1.c, gcc.dg/decl-nospec-2.c,
+       gcc.dg/decl-nospec-3.c: New tests.
+
 2004-10-26  Ziemowit Laski  <zlaski@apple.com>
 
        * objc.dg/super-class-3.m: New test.
diff --git a/gcc/testsuite/gcc.dg/decl-nospec-1.c b/gcc/testsuite/gcc.dg/decl-nospec-1.c
new file mode 100644 (file)
index 0000000..20067c1
--- /dev/null
@@ -0,0 +1,8 @@
+/* Data definition with no type or storage class should receive a
+   pedwarn, rather than a warning which becomes an error with
+   -pedantic.  Test with no options.  */
+/* Origin: Joseph Myers <jsm@polyomino.org.uk> */
+/* { dg-do compile } */
+/* { dg-options "" } */
+
+foo(); /* { dg-warning "warning: data definition has no type or storage class" } */
diff --git a/gcc/testsuite/gcc.dg/decl-nospec-2.c b/gcc/testsuite/gcc.dg/decl-nospec-2.c
new file mode 100644 (file)
index 0000000..86e68c0
--- /dev/null
@@ -0,0 +1,8 @@
+/* Data definition with no type or storage class should receive a
+   pedwarn, rather than a warning which becomes an error with
+   -pedantic.  Test with -pedantic.  */
+/* Origin: Joseph Myers <jsm@polyomino.org.uk> */
+/* { dg-do compile } */
+/* { dg-options "-pedantic" } */
+
+foo(); /* { dg-warning "warning: data definition has no type or storage class" } */
diff --git a/gcc/testsuite/gcc.dg/decl-nospec-3.c b/gcc/testsuite/gcc.dg/decl-nospec-3.c
new file mode 100644 (file)
index 0000000..6c04e94
--- /dev/null
@@ -0,0 +1,8 @@
+/* Data definition with no type or storage class should receive a
+   pedwarn, rather than a warning which becomes an error with
+   -pedantic.  Test with -pedantic-errors.  */
+/* Origin: Joseph Myers <jsm@polyomino.org.uk> */
+/* { dg-do compile } */
+/* { dg-options "-pedantic-errors" } */
+
+foo(); /* { dg-error "error: data definition has no type or storage class" } */