aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEric Christopher <echristo@gcc.gnu.org>2004-09-11 00:00:31 +0000
committerEric Christopher <echristo@gcc.gnu.org>2004-09-11 00:00:31 +0000
commit110fce119d81fedfe6004dcc0ab1b5d2004ec11b (patch)
treeb1842f804894a71a405ad99e2a9f90ec1db14438
parent5d709b0013a3d180de93f3349233637c281215b2 (diff)
downloadgcc-110fce119d81fedfe6004dcc0ab1b5d2004ec11b.zip
gcc-110fce119d81fedfe6004dcc0ab1b5d2004ec11b.tar.gz
gcc-110fce119d81fedfe6004dcc0ab1b5d2004ec11b.tar.bz2
re PR c/16046 (ICE tree check: expected tree_list, have identifier_node in decl_attributes, at attribs.c:151)
2004-09-10 Eric Christopher <echristo@redhat.com> PR c/16046 * c-parse.in (attribute): Add NULL_TREE for error case for error recovery. 2004-09-10 Eric Christopher <echristo@redhat.com> * gcc.dg/20040910-1.c: New test. From-SVN: r87330
-rw-r--r--gcc/ChangeLog10
-rw-r--r--gcc/c-parse.in8
-rw-r--r--gcc/testsuite/ChangeLog10
-rw-r--r--gcc/testsuite/gcc.dg/20040910-1.c2
4 files changed, 21 insertions, 9 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 56450cb..5c5fd67 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,9 @@
+2004-09-10 Eric Christopher <echristo@redhat.com>
+
+ PR c/16046
+ * c-parse.in (attribute): Add NULL_TREE for error case
+ for error recovery.
+
2004-09-10 Zack Weinberg <zack@codesourcery.com>
* c-common.h (struct c_fileinfo): Comment moved here from cp-tree.h.
@@ -6,8 +12,8 @@
* c-lex.c (get_fileinfo): Initialize file_info_tree here, if
it's not already been done ...
(init_c_lex): ... not here.
- (fe_file_change): Don't call extract_interface_info
-.
+ (fe_file_change): Don't call extract_interface_info.
+
2004-09-11 Joseph S. Myers <jsm@polyomino.org.uk>
* c-tree.h (struct c_declspecs): Remove typedef_decl. Add
diff --git a/gcc/c-parse.in b/gcc/c-parse.in
index ed0e3e1..b14a5ea 100644
--- a/gcc/c-parse.in
+++ b/gcc/c-parse.in
@@ -1359,7 +1359,7 @@ attribute:
'(' '(' attribute_list ')' ')' start_string_translation
{ $$ = $5; }
| ATTRIBUTE error start_string_translation
- {}
+ { $$ = NULL_TREE; }
;
attribute_list:
@@ -2048,9 +2048,9 @@ c99_block_lineno_labeled_stmt:
lineno_stmt:
save_location stmt
- {
+ {
/* Two cases cannot and do not have line numbers associated:
- If stmt is degenerate, such as "2;", then stmt is an
+ If stmt is degenerate, such as "2;", then stmt is an
INTEGER_CST, which cannot hold line numbers. But that's
ok because the statement will either be changed to a
MODIFY_EXPR during gimplification of the statement expr,
@@ -2831,7 +2831,7 @@ optparms:
grokparm ($3)));
}
;
-
+
optellipsis:
/* NULL */
{
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index 056073c..3d052a9 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -1,3 +1,7 @@
+2004-09-10 Eric Christopher <echristo@redhat.com>
+
+ * gcc.dg/20040910-1.c: New test.
+
2004-09-11 Joseph S. Myers <jsm@polyomino.org.uk>
* gcc.dg/bitfld-9.c: New test.
@@ -45,7 +49,7 @@
* gcc.dg/darwin-ld-20040828-1.c: New test.
* gcc.dg/darwin-ld-20040828-2.c: New test.
* gcc.dg/darwin-ld-20040828-3.c: New test.
-
+
2004-09-08 Ziemowit Laski <zlaski@apple.com>
* objc.dg/bitfield-2.m: Make 'id' definition a typedef.
@@ -66,10 +70,10 @@
LD_LIBRARYN32_PATH, LD_LIBRARY64_PATH and DYLD_LIBRARY_PATH.
2004-09-06 Devang Patel <dpatel@apple.com>
-
+
* gcc.dg/tree-ssa/ifc-20040816-1.c: Use -ftree-vectorize.
* gcc.dg/tree-ssa/ifc-20040816-2.c: Use -ftree-vectorize.
-
+
2004-09-06 Zack Weinberg <zack@codesourcery.com>
* g++.old-deja/g++.other/enum2.C: Move dg-error markers to
diff --git a/gcc/testsuite/gcc.dg/20040910-1.c b/gcc/testsuite/gcc.dg/20040910-1.c
new file mode 100644
index 0000000..8d27c73
--- /dev/null
+++ b/gcc/testsuite/gcc.dg/20040910-1.c
@@ -0,0 +1,2 @@
+/* Tests error recovery for invalid code. */
+__attribute__((foo) int f (){} /* { dg-error "syntax error before \"int\"" } */