aboutsummaryrefslogtreecommitdiff
path: root/libjava/classpath/lib/java/math/MathContext.class
diff options
context:
space:
mode:
authorJason Merrill <jason@redhat.com>2025-04-07 14:35:14 -0400
committerJason Merrill <jason@redhat.com>2025-04-08 07:43:37 -0400
commitd034c78c7be613db3c25fddec1dd50222327117b (patch)
tree19a83b5d51c043db6eac75378f4a7d1a6b49c96c /libjava/classpath/lib/java/math/MathContext.class
parentf53c5cde64770d6c175737a444450fea81feba80 (diff)
downloadgcc-d034c78c7be613db3c25fddec1dd50222327117b.zip
gcc-d034c78c7be613db3c25fddec1dd50222327117b.tar.gz
gcc-d034c78c7be613db3c25fddec1dd50222327117b.tar.bz2
c++: self-dependent alias template [PR117530]
Here, instantiating B<short> means instantiating A<short>, which means instantiating B<short>. And then when we go to register the initial instantiation, it conflicts with the inner one. Fixed by checking after tsubst whether there's already something in the hash table. We already did something much like this in tsubst_decl, but that doesn't handle this case. While I was here, I noticed that we had a pop_deferring_access_checks on one early exit but not another, and since I wanted to add yet another I switched to using deferring_access_check_sentinel. PR c++/117530 gcc/cp/ChangeLog: * pt.cc (instantiate_template): Check retrieve_specialization after tsubst. gcc/testsuite/ChangeLog: * g++.dg/cpp2a/lambda-uneval27.C: New test.
Diffstat (limited to 'libjava/classpath/lib/java/math/MathContext.class')
0 files changed, 0 insertions, 0 deletions