[Bug c++/105064] [10/11/12 Regression] requires crashes gcc
redi at gcc dot gnu.org
gcc-bugzilla@gcc.gnu.org
Sun Mar 27 22:19:29 GMT 2022
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=105064
Jonathan Wakely <redi at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Known to work| |9.4.0
Status|WAITING |NEW
Known to fail| |10.3.1, 11.2.1, 12.0
CC| |jason at gcc dot gnu.org
Summary|requires crashes gcc |[10/11/12 Regression]
| |requires crashes gcc
Keywords| |ice-on-valid-code
--- Comment #10 from Jonathan Wakely <redi at gcc dot gnu.org> ---
Thank you. Confirmed as a regression, starting with r10-6220
c++: Fix ICE with constrained friend (PR93400).
Here, the problem was that tsubst_friend_function was modifying the
CONSTRAINT_INFO for the friend template to have the constraints for one
instantiation, which fell down when we went to adjust it for another
instantiation. Fixed by deferring substitution of trailing requirements
until we try to check declaration matching.
PR c++/93400 - ICE with constrained friend.
* constraint.cc (maybe_substitute_reqs_for): New.
* decl.c (function_requirements_equivalent_p): Call it.
* pt.c (tsubst_friend_function): Only substitute
TEMPLATE_PARMS_CONSTRAINTS.
(tsubst_template_parms): Copy constraints.
More information about the Gcc-bugs
mailing list