[Bug c++/91673] [10 Regression] GCC ICE when partially specialising class template on a function-signature type with deduced noexcept qualifier

2019-09-10 Thread mpolacek at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91673

Marek Polacek  changed:

   What|Removed |Added

 Status|ASSIGNED|RESOLVED
 Resolution|--- |FIXED

--- Comment #5 from Marek Polacek  ---
Fixed.

[Bug c++/91673] [10 Regression] GCC ICE when partially specialising class template on a function-signature type with deduced noexcept qualifier

2019-09-10 Thread mpolacek at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91673

--- Comment #4 from Marek Polacek  ---
Author: mpolacek
Date: Tue Sep 10 23:22:37 2019
New Revision: 275617

URL: https://gcc.gnu.org/viewcvs?rev=275617=gcc=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

[Bug c++/91673] [10 Regression] GCC ICE when partially specialising class template on a function-signature type with deduced noexcept qualifier

2019-09-07 Thread mpolacek at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91673

Marek Polacek  changed:

   What|Removed |Added

   Keywords||patch

--- Comment #3 from Marek Polacek  ---
https://gcc.gnu.org/ml/gcc-patches/2019-09/msg00447.html

[Bug c++/91673] [10 Regression] GCC ICE when partially specialising class template on a function-signature type with deduced noexcept qualifier

2019-09-06 Thread mpolacek at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91673

--- Comment #2 from Marek Polacek  ---
Reduced:

template
struct S {
  using U = void() noexcept(B);
};

S s;

[Bug c++/91673] [10 Regression] GCC ICE when partially specialising class template on a function-signature type with deduced noexcept qualifier

2019-09-05 Thread mpolacek at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91673

Marek Polacek  changed:

   What|Removed |Added

 Status|UNCONFIRMED |ASSIGNED
   Keywords||ice-on-valid-code
   Last reconfirmed||2019-09-05
 CC||mpolacek at gcc dot gnu.org
   Assignee|unassigned at gcc dot gnu.org  |mpolacek at gcc dot 
gnu.org
 Ever confirmed|0   |1
Summary|GCC ICE when partially  |[10 Regression] GCC ICE
   |specialising class template |when partially specialising
   |on a function-signature |class template on a
   |type with deduced noexcept  |function-signature type
   |qualifier   |with deduced noexcept
   ||qualifier
   Target Milestone|--- |10.0

--- Comment #1 from Marek Polacek  ---
Started with r272586 so mine.