aboutsummaryrefslogtreecommitdiff
path: root/gcc/tree-if-conv.cc
diff options
context:
space:
mode:
authorJason Merrill <jason@redhat.com>2023-03-28 17:42:23 -0400
committerJason Merrill <jason@redhat.com>2023-03-28 22:23:51 -0400
commit91293ffb6af18705ab7857dc47656bdd74a9ce31 (patch)
treec3e48b9b85c193244fb1c4ff8b3db4421273bbe6 /gcc/tree-if-conv.cc
parentaa8f4242efc99f24de73c59d53996f28db28c13f (diff)
downloadgcc-91293ffb6af18705ab7857dc47656bdd74a9ce31.zip
gcc-91293ffb6af18705ab7857dc47656bdd74a9ce31.tar.gz
gcc-91293ffb6af18705ab7857dc47656bdd74a9ce31.tar.bz2
c++: alias ctad refinements [PR109321]
The two hunks fix missing handling demonstrated by the two testcases: first, if we omit one alias template parm but include another, we need to rewrite the deduced template args to reflect the new position of the included parm. Second, if we can't deduce any template args for a parameter pack, it is deduced to an empty pack. PR c++/109321 PR c++/109320 gcc/cp/ChangeLog: * pt.cc (alias_ctad_tweaks): Rewrite deduced args. (type_targs_deducible_from): Handle null pack deduction. gcc/testsuite/ChangeLog: * g++.dg/cpp2a/class-deduction-alias16.C: New test. * g++.dg/cpp2a/class-deduction-alias17.C: New test.
Diffstat (limited to 'gcc/tree-if-conv.cc')
0 files changed, 0 insertions, 0 deletions