summaryrefslogtreecommitdiff
path: root/gcc/c-parser.c
diff options
context:
space:
mode:
authorJoseph Myers <joseph@codesourcery.com>2009-02-16 22:55:56 +0000
committerJoseph Myers <jsm28@gcc.gnu.org>2009-02-16 22:55:56 +0000
commita47e20fd934a9dd9b392de5325a9d7f6a0d6acda (patch)
treeead750183f414452b82a0ca13a1347344d4a8b69 /gcc/c-parser.c
parent50aab7dc401b3b6cc0f74982231eb529ef06ebe1 (diff)
downloadgcc-a47e20fd934a9dd9b392de5325a9d7f6a0d6acda.tar.gz
re PR c/35446 (ICE with invalid array initializer)
PR c/35446 * c-parser.c (c_parser_braced_init): Call pop_init_level when skipping until next close brace. testsuite: * gcc.dg/noncompile/init-5.c: New test. * gcc.dg/init-bad-4.c: Adjust expected errors. From-SVN: r144216
Diffstat (limited to 'gcc/c-parser.c')
-rw-r--r--gcc/c-parser.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/gcc/c-parser.c b/gcc/c-parser.c
index e09c2c17161..9aef031a8eb 100644
--- a/gcc/c-parser.c
+++ b/gcc/c-parser.c
@@ -3036,6 +3036,7 @@ c_parser_braced_init (c_parser *parser, tree type, bool nested_p)
ret.value = error_mark_node;
ret.original_code = ERROR_MARK;
c_parser_skip_until_found (parser, CPP_CLOSE_BRACE, "expected %<}%>");
+ pop_init_level (0);
return ret;
}
c_parser_consume_token (parser);