[Bug c++/94597] [10 Regression] ICE while using a concept checking for user defined conversion operator since r10-3735-gcb57504a55015891
cvs-commit at gcc dot gnu.org
gcc-bugzilla@gcc.gnu.org
Tue Apr 21 15:00:20 GMT 2020
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94597
--- Comment #2 from CVS Commits <cvs-commit at gcc dot gnu.org> ---
The master branch has been updated by Patrick Palka <ppalka@gcc.gnu.org>:
https://gcc.gnu.org/g:08d6ec14e654292340ccc6aa5612bbd91d4d57e8
commit r10-7848-g08d6ec14e654292340ccc6aa5612bbd91d4d57e8
Author: Patrick Palka <ppalka@redhat.com>
Date: Tue Apr 21 10:56:57 2020 -0400
c++: Dependent conversion operator in concept [PR94597]
When building the parameter mapping for an atomic constraint,
find_template_parameters does not spot the template parameter within the
conversion-type-id of a dependent conversion operator, which later leads to
an
ICE during substitution when looking up the missing template argument for
this
unnoticed template parameter.
gcc/cp/ChangeLog:
PR c++/94597
* pt.c (any_template_parm_r) <case IDENTIFIER_NODE>: New case. If
this
is a conversion operator, visit its TREE_TYPE.
gcc/testsuite/ChangeLog:
PR c++/94597
* g++.dg/cpp2a/concepts-conv2.C: New test.
More information about the Gcc-bugs
mailing list