c++: designator for base class member [PR101405]
authorJason Merrill <jason@redhat.com>
Thu, 20 Jan 2022 14:18:45 +0000 (09:18 -0500)
committerJason Merrill <jason@redhat.com>
Thu, 20 Jan 2022 20:23:43 +0000 (15:23 -0500)
commitcc01cd9397fe99e707bcc5b98bb33d807ba610d7
tree6712a6c9d974d8e159226230652b802229bee605
parent30b38394b482ce894d9bc81731a0eea8711f4587
c++: designator for base class member [PR101405]

A C++20 designator must name a direct non-static member of the class; in
this case it names a member of a base class, and we should give an error
instead of crashing.

PR c++/101405

gcc/cp/ChangeLog:

* decl.cc (reshape_init_class): Reject designator for a member of
another class.

gcc/testsuite/ChangeLog:

* g++.dg/cpp2a/desig20.C: New test.
gcc/cp/decl.cc
gcc/testsuite/g++.dg/cpp2a/desig20.C [new file with mode: 0644]