https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71912
--- Comment #7 from Martin Sebor <msebor at gcc dot gnu.org> --- Author: msebor Date: Thu Oct 13 22:26:36 2016 New Revision: 241143 URL: https://gcc.gnu.org/viewcvs?rev=241143&root=gcc&view=rev Log: PR c++/71912 - [6/7 regression] flexible array in struct in union rejected gcc/cp/ChangeLog: PR c++/71912 * class.c (struct flexmems_t): Add members. (find_flexarrays): Add arguments. Correct handling of anonymous structs. (diagnose_flexarrays): Adjust to issue warnings in addition to errors. (check_flexarrays): Add argument. (diagnose_invalid_flexarray): New functions. gcc/testsuite/ChangeLog: PR c++/71912 * g++.dg/ext/flexary4.C: Adjust. * g++.dg/ext/flexary5.C: Same. * g++.dg/ext/flexary9.C: Same. * g++.dg/ext/flexary19.C: New test. * g++.dg/ext/flexary18.C: New test. * g++.dg/torture/pr64312.C: Add a dg-error directive to an ill-formed regression test. * g++.dg/compat/struct-layout-1_generate.c (subfield): Add argument. Avoid generating a flexible array member in an array. Added: trunk/gcc/testsuite/g++.dg/ext/flexary18.C trunk/gcc/testsuite/g++.dg/ext/flexary19.C Modified: trunk/gcc/cp/ChangeLog trunk/gcc/cp/class.c trunk/gcc/testsuite/ChangeLog trunk/gcc/testsuite/g++.dg/compat/struct-layout-1_generate.c trunk/gcc/testsuite/g++.dg/ext/flexary4.C trunk/gcc/testsuite/g++.dg/ext/flexary5.C trunk/gcc/testsuite/g++.dg/ext/flexary9.C trunk/gcc/testsuite/g++.dg/torture/pr64312.C