[Bug c++/110566] [13 Regression] ICE when instantiating function template with template template parameter with 2 or more auto parameters with a dependent member template, ICE in tsubst, at cp/pt.cc:1
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=110566 Patrick Palka changed: What|Removed |Added Resolution|--- |FIXED Status|NEW |RESOLVED --- Comment #9 from Patrick Palka --- The original testcase (passing a partially instantiated template as a ttp) is fixed for GCC 13.3. The follow-up fix r14-2810 (for passing a partially instantiated ttp as a ttp) doesn't seem suitable for backporting..
[Bug c++/110566] [13 Regression] ICE when instantiating function template with template template parameter with 2 or more auto parameters with a dependent member template, ICE in tsubst, at cp/pt.cc:1
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=110566 --- Comment #8 from CVS Commits --- The releases/gcc-13 branch has been updated by Patrick Palka : https://gcc.gnu.org/g:2c6e76ff039782401f705cacda60c11f8dfac3b1 commit r13-7692-g2c6e76ff039782401f705cacda60c11f8dfac3b1 Author: Patrick Palka Date: Wed Jul 26 17:21:26 2023 -0400 c++: passing partially inst tmpl as ttp [PR110566] Since the template arguments 'pargs' we pass to coerce_template_parms from coerce_template_template_parms are always a full set, we need to make sure we always pass the parameters of the most general template because if the template is partially instantiated then the levels won't match up. In the testcase below during said call to coerce_template_parms the parameters are {X, Y}, both level 1 rather than 2, and the arguments are {{int}, {N, M}}, which results in a crash during auto deduction for parameters' types. PR c++/110566 PR c++/108179 gcc/cp/ChangeLog: * pt.cc (coerce_template_template_parms): Simplify by using DECL_INNERMOST_TEMPLATE_PARMS and removing redundant asserts. Always pass the parameters of the most general template to coerce_template_parms. gcc/testsuite/ChangeLog: * g++.dg/template/ttp38.C: New test. (cherry picked from commit b3adcc60dcf3314f47f5409aecef40607f82b80b)
[Bug c++/110566] [13 Regression] ICE when instantiating function template with template template parameter with 2 or more auto parameters with a dependent member template, ICE in tsubst, at cp/pt.cc:1
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=110566 Richard Biener changed: What|Removed |Added Target Milestone|13.2|13.3 --- Comment #7 from Richard Biener --- GCC 13.2 is being released, retargeting bugs to GCC 13.3.
[Bug c++/110566] [13 Regression] ICE when instantiating function template with template template parameter with 2 or more auto parameters with a dependent member template, ICE in tsubst, at cp/pt.cc:1
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=110566 --- Comment #6 from waffl3x --- (In reply to Patrick Palka from comment #5) > Should be fixed on trunk so far. Once it shows up on godbolt I will make sure that all the cases that exhibited the bug are working for me now. I had a bunch of different combinations of typename and auto and anything with 2 or more autos were breaking. If I had to guess, I imagine they all should all be working now, but I'll double check it to make sure.
[Bug c++/110566] [13 Regression] ICE when instantiating function template with template template parameter with 2 or more auto parameters with a dependent member template, ICE in tsubst, at cp/pt.cc:1
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=110566 Patrick Palka changed: What|Removed |Added See Also||https://gcc.gnu.org/bugzill ||a/show_bug.cgi?id=108179 Keywords|patch | CC||ppalka at gcc dot gnu.org Summary|[13/14 Regression] ICE when |[13 Regression] ICE when |instantiating function |instantiating function |template with template |template with template |template parameter with 2 |template parameter with 2 |or more auto parameters |or more auto parameters |with a dependent member |with a dependent member |template, ICE in tsubst, at |template, ICE in tsubst, at |cp/pt.cc:16135 |cp/pt.cc:16135 Assignee|unassigned at gcc dot gnu.org |ppalka at gcc dot gnu.org --- Comment #5 from Patrick Palka --- Should be fixed on trunk so far.