https://gcc.gnu.org/bugzilla/show_bug.cgi?id=84588
--- Comment #13 from paolo at gcc dot gnu.org <paolo at gcc dot gnu.org> --- Author: paolo Date: Mon May 21 19:25:50 2018 New Revision: 260482 URL: https://gcc.gnu.org/viewcvs?rev=260482&root=gcc&view=rev Log: /cp 2018-05-21 Paolo Carlini <paolo.carl...@oracle.com> PR c++/84588 * parser.c (cp_parser_maybe_commit_to_declaration, cp_parser_check_condition_declarator): New. (cp_parser_simple_declaration): Use the first above. (cp_parser_condition): Use both the above; enforce [stmt.stmt]/2 about the declarator not specifying a function or an array; improve error-recovery. /testsuite 2018-05-21 Paolo Carlini <paolo.carl...@oracle.com> PR c++/84588 * g++.dg/cpp0x/cond1.C: New. * g++.dg/cpp1y/pr84588-1.C: Likewise. * g++.dg/cpp1y/pr84588-2.C: Likewise. * g++.dg/cpp1y/pr84588-3.C: Likewise. * g++.dg/parse/cond6.C: Likewise. * g++.dg/parse/cond7.C: Likewise. * g++.dg/parse/cond8.C: Likewise. * g++.dg/cpp1z/decomp16.C: Update. * g++.old-deja/g++.jason/cond.C: Likewise. Added: trunk/gcc/testsuite/g++.dg/cpp0x/cond1.C trunk/gcc/testsuite/g++.dg/cpp1y/pr84588-1.C trunk/gcc/testsuite/g++.dg/cpp1y/pr84588-2.C trunk/gcc/testsuite/g++.dg/cpp1y/pr84588-3.C trunk/gcc/testsuite/g++.dg/parse/cond6.C trunk/gcc/testsuite/g++.dg/parse/cond7.C trunk/gcc/testsuite/g++.dg/parse/cond8.C Modified: trunk/gcc/cp/ChangeLog trunk/gcc/cp/parser.c trunk/gcc/testsuite/ChangeLog trunk/gcc/testsuite/g++.dg/cpp1z/decomp16.C trunk/gcc/testsuite/g++.old-deja/g++.jason/cond.C