https://gcc.gnu.org/bugzilla/show_bug.cgi?id=106290
Bug ID: 106290 Summary: A non-static data member of an anonymous union member appears in the default-member-initializer of another should be well-formed Product: gcc Version: 13.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: c++ Assignee: unassigned at gcc dot gnu.org Reporter: xmh970252187 at gmail dot com Target Milestone: --- struct B{ union{ int a; int b = (a,10); }; }; For this case https://godbolt.org/z/5KnK8azEM, GCC renders an error, with a diagnosis: "error: invalid use of non-static data member 'B::<unnamed union>::a'" However, such use should be valid and does not violate any rule in the standard. Clang accepts this example.