aboutsummaryrefslogtreecommitdiff
path: root/gcc/tree-vect-patterns.cc
diff options
context:
space:
mode:
authorPatrick Palka <ppalka@redhat.com>2023-06-29 16:10:18 -0400
committerPatrick Palka <ppalka@redhat.com>2023-06-29 16:10:18 -0400
commit9479da4515f7d019b4ef282d0e21536431c44f71 (patch)
tree7f0fc613a62b16dffb982faba3215a7a4f90063f /gcc/tree-vect-patterns.cc
parentfd8a1be04d4cdbfefea457b99ed8404d77b35dd6 (diff)
downloadgcc-9479da4515f7d019b4ef282d0e21536431c44f71.zip
gcc-9479da4515f7d019b4ef282d0e21536431c44f71.tar.gz
gcc-9479da4515f7d019b4ef282d0e21536431c44f71.tar.bz2
c++: NSDMI instantiation during overload resolution [PR110468]
Here we find ourselves instantiating the NSDMI for A<1>::m when computing argument conversions during overload resolution, and thus tf_conv is set. The flag causes mark_used for the constructor used in the NSDMI to exit early and not instantiate its noexcept-spec, which eventually leads to an ICE from nothrow_spec_p. This patch fixes this by clearing any special tsubst flags during instantiation of an NSDMI, since the result should be independent of the context that requires the instantiation. PR c++/110468 gcc/cp/ChangeLog: * init.cc (maybe_instantiate_nsdmi_init): Mask out all tsubst flags except for tf_warning_or_error. gcc/testsuite/ChangeLog: * g++.dg/cpp0x/noexcept79.C: New test.
Diffstat (limited to 'gcc/tree-vect-patterns.cc')
0 files changed, 0 insertions, 0 deletions