diff options
author | Nicola Pero <nicola@gcc.gnu.org> | 2011-05-24 21:29:35 +0000 |
---|---|---|
committer | Nicola Pero <nicola@gcc.gnu.org> | 2011-05-24 21:29:35 +0000 |
commit | 4e26ba9022c2052fee9511a0f9d343da5645029f (patch) | |
tree | 45a2ea1e54c55ccbf8843a2f531a8fac8f843c25 /gcc/cp/parser.c | |
parent | 936fd13c5b33cd6748788802ec3bb3445a396228 (diff) | |
download | gcc-4e26ba9022c2052fee9511a0f9d343da5645029f.zip gcc-4e26ba9022c2052fee9511a0f9d343da5645029f.tar.gz gcc-4e26ba9022c2052fee9511a0f9d343da5645029f.tar.bz2 |
In gcc/: 2011-05-24 Nicola Pero <nicola.pero@meta-innovation.com>
In gcc/:
2011-05-24 Nicola Pero <nicola.pero@meta-innovation.com>
PR objc/48187
* c-parser.c (c_parser_objc_class_instance_variables): More robust
parsing of syntax error in ObjC instance variable lists. In
particular, avoid an infinite loop if there is a stray ']'.
Updated error message.
In gcc/cp/:
2011-05-24 Nicola Pero <nicola.pero@meta-innovation.com>,
* parser.c (cp_parser_objc_class_ivars): Deal gracefully with a
syntax error in declaring an ObjC instance variable.
In gcc/testsuite/:
2011-05-24 Nicola Pero <nicola.pero@meta-innovation.com>
PR objc/48187
* objc.dg/pr48187.m: New testcase.
* obj-c++.dg/pr48187.mm: New testcase.
* objc.dg/ivar-extra-semicolon.m: New testcase.
From-SVN: r174142
Diffstat (limited to 'gcc/cp/parser.c')
-rw-r--r-- | gcc/cp/parser.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/gcc/cp/parser.c b/gcc/cp/parser.c index 2b45260..3493e44 100644 --- a/gcc/cp/parser.c +++ b/gcc/cp/parser.c @@ -22494,7 +22494,8 @@ cp_parser_objc_class_ivars (cp_parser* parser) NULL_TREE, attributes); /* Add the instance variable. */ - objc_add_instance_variable (decl); + if (decl != error_mark_node && decl != NULL_TREE) + objc_add_instance_variable (decl); /* Reset PREFIX_ATTRIBUTES. */ while (attributes && TREE_CHAIN (attributes) != first_attribute) |