summaryrefslogtreecommitdiff
path: root/libstdc++-v3/src/c++11/shared_ptr.cc
diff options
context:
space:
mode:
authorPatrick Palka <ppalka@redhat.com>2023-05-16 12:39:16 -0400
committerPatrick Palka <ppalka@redhat.com>2023-05-16 12:39:16 -0400
commitd5e5007c4b534391c0a97be56f6024fde1a88682 (patch)
tree5d8237aba8176ba237e16682b5b3dd7d04eaf6d9 /libstdc++-v3/src/c++11/shared_ptr.cc
parent9417b30499ce09996b4f1b4e2ce75a2853865ed4 (diff)
downloadgcc-d5e5007c4b534391c0a97be56f6024fde1a88682.tar.gz
c++: desig init in presence of list ctor [PR109871]
add_list_candidates has logic to reject designated initialization of a non-aggregate type, but this is inadvertently being suppressed if the type has a list constructor due to the order of case analysis, which in the below testcase leads to us incorrectly treating the initializer list as if it's non-designated. This patch fixes this by making us check for invalid designated initialization sooner. PR c++/109871 gcc/cp/ChangeLog: * call.cc (add_list_candidates): Check for invalid designated initialization sooner and even for types that have a list constructor. gcc/testsuite/ChangeLog: * g++.dg/cpp2a/desig27.C: New test.
Diffstat (limited to 'libstdc++-v3/src/c++11/shared_ptr.cc')
0 files changed, 0 insertions, 0 deletions