[Bug c++/91673] [10 Regression] GCC ICE when partially specialising class template on a function-signature type with deduced noexcept qualifier
mpolacek at gcc dot gnu.org
gcc-bugzilla@gcc.gnu.org
Tue Sep 10 23:23:00 GMT 2019
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91673
--- Comment #4 from Marek Polacek <mpolacek at gcc dot gnu.org> ---
Author: mpolacek
Date: Tue Sep 10 23:22:37 2019
New Revision: 275617
URL: https://gcc.gnu.org/viewcvs?rev=275617&root=gcc&view=rev
Log:
PR c++/91673 - ICE with noexcept in alias-declaration.
* parser.c (CP_PARSER_FLAGS_DELAY_NOEXCEPT): New parser flag.
(cp_parser_lambda_declarator_opt): Pass CP_PARSER_FLAGS_NONE to
cp_parser_exception_specification_opt.
(cp_parser_direct_declarator): Adjust a call to
cp_parser_exception_specification_opt.
(cp_parser_member_declaration): Pass CP_PARSER_FLAGS_DELAY_NOEXCEPT
to cp_parser_declarator if not processing a friend or typedef
declaration.
(cp_parser_late_noexcept_specifier): Adjust a call to
cp_parser_noexcept_specification_opt.
(cp_parser_noexcept_specification_opt): New parameter for parser flags,
drop the FRIEND_P parameter. Use the new parameter.
(cp_parser_exception_specification_opt): Likewise.
(cp_parser_transaction): Adjust a call to
cp_parser_noexcept_specification_opt.
(cp_parser_transaction_expression): Likewise.
* g++.dg/cpp1z/using7.C: New test.
* g++.dg/cpp1z/using8.C: New test.
Added:
trunk/gcc/testsuite/g++.dg/cpp1z/using7.C
trunk/gcc/testsuite/g++.dg/cpp1z/using8.C
Modified:
trunk/gcc/cp/ChangeLog
trunk/gcc/cp/parser.c
trunk/gcc/testsuite/ChangeLog
More information about the Gcc-bugs
mailing list