c++: default template arg, partial ordering [PR105481]
commit4e2cdb1ddb5f6ace909358775e94bfe23046ad5a
authorJason Merrill <jason@redhat.com>
Thu, 23 Mar 2023 22:20:52 +0000 (23 18:20 -0400)
committerJason Merrill <jason@redhat.com>
Fri, 24 Mar 2023 16:32:00 +0000 (24 12:32 -0400)
tree27689bd855824918fe1a688d68ac4e348107896b
parente8fec6998b656dac02d4bc6c69b35a0fb5611e87
c++: default template arg, partial ordering [PR105481]

The default argument code in type_unification_real was assuming that all
targs we've deduced by that point are non-dependent, but that's not the case
for partial ordering.

PR c++/105481

gcc/cp/ChangeLog:

* pt.cc (type_unification_real): Adjust for partial ordering.

gcc/testsuite/ChangeLog:

* g++.dg/cpp0x/fntmpdefarg-partial1.C: New test.
gcc/cp/pt.cc
gcc/testsuite/g++.dg/cpp0x/fntmpdefarg-partial1.C [new file with mode: 0644]