diff options
author | Patrick Palka <ppalka@redhat.com> | 2024-07-17 11:08:35 -0400 |
---|---|---|
committer | Patrick Palka <ppalka@redhat.com> | 2024-07-17 11:08:35 -0400 |
commit | 247335823f420eb1dd56f4bf32ac78d441f5ccc2 (patch) | |
tree | 2e3569e13552fa1c485b9a502372be50f69c7513 /libbacktrace | |
parent | db3c8c9726d0bafbb9f85b6d7027fe83602643e7 (diff) | |
download | gcc-247335823f420eb1dd56f4bf32ac78d441f5ccc2.zip gcc-247335823f420eb1dd56f4bf32ac78d441f5ccc2.tar.gz gcc-247335823f420eb1dd56f4bf32ac78d441f5ccc2.tar.bz2 |
c++: constrained partial spec type context [PR111890]
maybe_new_partial_specialization wasn't propagating TYPE_CONTEXT when
creating a new class type corresponding to a constrained partial spec,
which do_friend relies on via template_class_depth to distinguish a
template friend from a non-template friend, and so in the below testcase
we were incorrectly instantiating the non-template operator+ as if it
were a template leading to an ICE.
PR c++/111890
gcc/cp/ChangeLog:
* pt.cc (maybe_new_partial_specialization): Propagate TYPE_CONTEXT
to the newly created partial specialization.
gcc/testsuite/ChangeLog:
* g++.dg/cpp2a/concepts-partial-spec15.C: New test.
Reviewed-by: Jason Merrill <jason@redhat.com>
Diffstat (limited to 'libbacktrace')
0 files changed, 0 insertions, 0 deletions