aboutsummaryrefslogtreecommitdiff
path: root/gcc/cp/parser.c
diff options
context:
space:
mode:
authorNicola Pero <nicola@gcc.gnu.org>2011-05-24 21:29:35 +0000
committerNicola Pero <nicola@gcc.gnu.org>2011-05-24 21:29:35 +0000
commit4e26ba9022c2052fee9511a0f9d343da5645029f (patch)
tree45a2ea1e54c55ccbf8843a2f531a8fac8f843c25 /gcc/cp/parser.c
parent936fd13c5b33cd6748788802ec3bb3445a396228 (diff)
downloadgcc-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.c3
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)