]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
re PR middle-end/27428 (ICE with goto in erroneous code)
authorRoger Sayle <roger@eyesopen.com>
Thu, 29 Jun 2006 21:57:23 +0000 (21:57 +0000)
committerRoger Sayle <sayle@gcc.gnu.org>
Thu, 29 Jun 2006 21:57:23 +0000 (21:57 +0000)
PR middle-end/27428
* c-lex.c (c_lex_with_flags) <CPP_N_INVALID>: Increment errorcount
to indicate the cpplib has issued an error message for us.

* gcc.dg/pr27428-1.c: New test case.

From-SVN: r115080

gcc/ChangeLog
gcc/c-lex.c
gcc/testsuite/ChangeLog
gcc/testsuite/gcc.dg/pr27428-1.c [new file with mode: 0644]

index 5a8cb4a192463896accb02efd8cff51d543b508d..bd6e0775786a38aa759398107ce501f1d244e0e6 100644 (file)
@@ -1,3 +1,9 @@
+2006-06-29  Roger Sayle  <roger@eyesopen.com>
+
+       PR middle-end/27428
+       * c-lex.c (c_lex_with_flags) <CPP_N_INVALID>: Increment errorcount
+       to indicate the cpplib has issued an error message for us.
+
 2006-06-29  Asher Langton  <langton2@llnl.gov>
 
        PR target/25765
index ce231ddc4bcf003e66123e5f2cd431da1ebef340..108bc5cff17474e3fe33d10ea94a5bae84366cd4 100644 (file)
@@ -364,6 +364,7 @@ c_lex_with_flags (tree *value, location_t *loc, unsigned char *cpp_flags)
          case CPP_N_INVALID:
            /* cpplib has issued an error.  */
            *value = error_mark_node;
+           errorcount++;
            break;
 
          case CPP_N_INTEGER:
index 2f6fbe2fa48444d7a9684cb00091d9bf6ac700f1..616a1ff227e7f41f1b003e28d500de425093ced5 100644 (file)
@@ -1,3 +1,8 @@
+2006-06-29  Roger Sayle  <roger@eyesopen.com>
+
+       PR middle-end/27428
+       * gcc.dg/pr27428-1.c: New test case.
+
 2006-06-29  Mike Stump  <mrs@apple.com>
 
        * gcc.dg/compat/struct-layout-1_generate.c: Don't use common
diff --git a/gcc/testsuite/gcc.dg/pr27428-1.c b/gcc/testsuite/gcc.dg/pr27428-1.c
new file mode 100644 (file)
index 0000000..93a221c
--- /dev/null
@@ -0,0 +1,9 @@
+/* { dg-do compile } */
+/* { dg-options "-O2" } */
+
+void foo()
+{
+    goto L;
+    if (0..) { L: ; }  // { dg-error "too many decimal points" }
+}
+