parse error using gcc 2.95

Martin v. Loewis martin@mira.isdn.cs.tu-berlin.de
Thu Aug 5 14:12:00 GMT 1999


>   C c (B (A<double> (-p, -p, q), 0.5));

Thanks for your bug report. This is a known bug; the work around is to
add an additional pair of parentheses:

   C c ((B (A<double> (-p, -p, q), 0.5)));

Jason, I believe this was caused by this change

1999-04-15  Jason Merrill  <jason@yorick.cygnus.com>

	* parse.y (after_type_declarator_intern): New nonterminal.

In the specific case, the parser runs into state 480 (of gcc 2.95),
which is

state 480

    direct_after_type_declarator  ->  '(' after_type_declarator_intern . ')'   (rule 599)

    ')' 	shift, and go to state 755

Now we see the comma, and fail. Is there anything that could be done
about it? It looks like this get a frequently-reported bug for gcc
2.95.

Regards,
Martin


More information about the Gcc-bugs mailing list