* c-parser.c (c_parser_compound_statement_nostart): Reset
parser->error after each statement.
* gcc.dg/parse-error-1.c: New test.
* gcc.dg/parse-error-2.c: New test.
* gcc.dg/cpp/digraph2.c: Add error-marker.
* gcc.dg/noncompile/920923-1.c: Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@116157
138bc75d-0d04-0410-961f-
82ee72b054a4
+2006-08-15 Volker Reichelt <reichelt@igpm.rwth-aachen.de>
+
+ PR c/28649
+ * c-parser.c (c_parser_compound_statement_nostart): Reset
+ parser->error after each statement.
+
2006-08-15 Jakub Jelinek <jakub@redhat.com>
PR middle-end/28713
last_stmt = true;
c_parser_statement_after_labels (parser);
}
+
+ parser->error = false;
}
if (last_label)
error ("label at end of compound statement");
+2006-08-15 Volker Reichelt <reichelt@igpm.rwth-aachen.de>
+
+ PR c/28649
+ * gcc.dg/parse-error-1.c: New test.
+ * gcc.dg/parse-error-2.c: New test.
+ * gcc.dg/cpp/digraph2.c: Add error-marker.
+ * gcc.dg/noncompile/920923-1.c: Likewise.
+
2006-08-14 Andrew Pinski <pinskia@physics.uc.edu>
PR c/27490
/* Place this after main () so we get to test both the compiler above
and the preprocessor below. */
-%:define glue
+%:define glue /* { dg-error "expected declaration" } */
#ifdef glue
#error glue is defined!
#endif
{
register prec_t bucket;
register caddr_t p_addr; /* { dg-error "expected|undeclared" } */
- bucket = mem_hash+((((v_addr)>>ITEMBITS))&hash_mask);
+ bucket = mem_hash+((((v_addr)>>ITEMBITS))&hash_mask); /* { dg-error "undeclared" } */
do {
if (bucket->v_addr == ((v_addr)>>ITEMBITS) { /* { dg-error "expected|undeclared|no member" } */
if(!(bucket->perm_set&va_op))
--- /dev/null
+/* PR c/28649 */
+/* { dg-do compile } */
+
+void foo()
+{
+ +; /* { dg-error "expected expression" } */
+ +; /* { dg-error "expected expression" } */
+}
+
+int +; /* { dg-error "expected identifier" } */
--- /dev/null
+/* PR c/28649 */
+/* { dg-do compile } */
+
+void foo()
+{
+ +; /* { dg-error "expected expression" } */
+}
+
+int i;
+
+void bar()
+{
+ i++; /* { dg-bogus "undeclared" } */
+}