c++: Abbreviated function template return type [PR92187]
authorPatrick Palka <ppalka@redhat.com>
Sat, 18 Apr 2020 10:22:14 +0000 (06:22 -0400)
committerPatrick Palka <ppalka@redhat.com>
Sat, 18 Apr 2020 10:22:14 +0000 (06:22 -0400)
commite43b28ae7f09c0b7a30ab0dd976db761eeb1b0f9
tree7f40923470b0d0449338419d8359f2e96011b3be
parentc5bac7d127f288fd2f8a1f15c3f30da5903141c6
c++: Abbreviated function template return type [PR92187]

When updating an auto return type of an abbreviated function template in
splice_late_return_type, we should also propagate PLACEHOLDER_TYPE_CONSTRAINTS
(and cv-qualifiers) of the original auto node.

gcc/cp/ChangeLog:

PR c++/92187
* pt.c (splice_late_return_type): Propagate cv-qualifiers and
PLACEHOLDER_TYPE_CONSTRAINTS from the original auto node to the new one.

gcc/testsuite/ChangeLog:

PR c++/92187
* g++.dg/concepts/abbrev5.C: New test.
* g++.dg/concepts/abbrev6.C: New test.
gcc/cp/ChangeLog
gcc/cp/pt.c
gcc/testsuite/ChangeLog
gcc/testsuite/g++.dg/concepts/abbrev5.C [new file with mode: 0644]
gcc/testsuite/g++.dg/concepts/abbrev6.C [new file with mode: 0644]