From: Jason Merrill Date: Wed, 16 Mar 2011 17:04:41 +0000 (-0400) Subject: parser.c (cp_parser_abort_tentative_parse): Make sure we haven't committed to this... X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=23d956f9358316e3a65455ff3dc4caffb6b67de3;p=gcc.git parser.c (cp_parser_abort_tentative_parse): Make sure we haven't committed to this tentative parse. * parser.c (cp_parser_abort_tentative_parse): Make sure we haven't committed to this tentative parse. From-SVN: r171054 --- diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog index ed5dcd85bda..8a4082941d9 100644 --- a/gcc/cp/ChangeLog +++ b/gcc/cp/ChangeLog @@ -1,5 +1,8 @@ 2011-03-16 Jason Merrill + * 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. diff --git a/gcc/cp/parser.c b/gcc/cp/parser.c index a9fd2010b25..9523fdccd95 100644 --- a/gcc/cp/parser.c +++ b/gcc/cp/parser.c @@ -21398,6 +21398,8 @@ cp_parser_commit_to_tentative_parse (cp_parser* parser) 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. */