* parser.c (cp_parser_abort_tentative_parse): Make sure we haven't
committed to this tentative parse.
From-SVN: r171054
2011-03-16 Jason Merrill <jason@redhat.com>
+ * parser.c (cp_parser_abort_tentative_parse): Make sure we haven't
+ committed to this tentative parse.
+
PR c++/47999
* semantics.c (finish_call_expr): Preserve reference semantics
in templates.
static void
cp_parser_abort_tentative_parse (cp_parser* parser)
{
+ gcc_assert (parser->context->status != CP_PARSER_STATUS_KIND_COMMITTED
+ || errorcount > 0);
cp_parser_simulate_error (parser);
/* Now, pretend that we want to see if the construct was
successfully parsed. */