aboutsummaryrefslogtreecommitdiff
path: root/gcc/ada/gcc-interface/decl.c
diff options
context:
space:
mode:
authorJason Merrill <jason@redhat.com>2021-05-19 21:12:45 -0400
committerJason Merrill <jason@redhat.com>2021-05-20 16:59:17 -0400
commit84fd1b5dff70cd74aee7e8b18f66959d8b8e1ce7 (patch)
tree3584ac15bb2a3eea9a0c8787fc9b66e5bbc4f396 /gcc/ada/gcc-interface/decl.c
parent64ba45c76e831914764b70207d69a06f800b43a4 (diff)
downloadgcc-84fd1b5dff70cd74aee7e8b18f66959d8b8e1ce7.zip
gcc-84fd1b5dff70cd74aee7e8b18f66959d8b8e1ce7.tar.gz
gcc-84fd1b5dff70cd74aee7e8b18f66959d8b8e1ce7.tar.bz2
c++: designated init with anonymous union [PR100489]
My patch for PR98463 added an assert that tripped on this testcase, because we ended up with a U CONSTRUCTOR with an initializer for a, which is not a member of U. We need to wrap the a initializer in another CONSTRUCTOR for the anonymous union. There was already support for this in process_init_constructor_record, but not in process_init_constructor_union. But since this is about brace elision, it really belongs under reshape_init rather than digest_init, so this patch moves the handling to reshape_init_class, which also handles unions. PR c++/100489 gcc/cp/ChangeLog: * decl.c (reshape_init_class): Handle designator for member of anonymous aggregate here. * typeck2.c (process_init_constructor_record): Not here. gcc/testsuite/ChangeLog: * g++.dg/cpp2a/desig18.C: New test.
Diffstat (limited to 'gcc/ada/gcc-interface/decl.c')
0 files changed, 0 insertions, 0 deletions