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

Reply via email to