[Bug c++/88261] [9 Regression] ICE: verify_gimple failed (error: non-trivial conversion at assignment)

edlinger at gcc dot gnu.org gcc-bugzilla@gcc.gnu.org
Mon Jan 7 17:09:00 GMT 2019


https://gcc.gnu.org/bugzilla/show_bug.cgi?id=88261

--- Comment #12 from Bernd Edlinger <edlinger at gcc dot gnu.org> ---
Author: edlinger
Date: Mon Jan  7 17:08:51 2019
New Revision: 267653

URL: https://gcc.gnu.org/viewcvs?rev=267653&root=gcc&view=rev
Log:
        PR c++/88261
        PR c++/69338
        PR c++/69696
        PR c++/69697
        * cp-tree.h (LOOKUP_ALLOW_FLEXARRAY_INIT): New flag value.
        * typeck2.c (digest_init_r): Raise an error for non-static
        initialization of a flexible array member.
        (process_init_constructor, massage_init_elt,
        process_init_constructor_array, process_init_constructor_record,
        process_init_constructor_union, process_init_constructor): Add the
        flags parameter and pass it thru.
        (store_init_value): Pass LOOKUP_ALLOW_FLEXARRAY_INIT parameter to
        digest_init_flags for static decls.

gcc/testsuite:
2019-01-07  Bernd Edlinger  <bernd.edlinger@hotmail.de>

        PR c++/88261
        PR c++/69338
        PR c++/69696
        PR c++/69697
        * gcc.dg/array-6.c: Move from here ...
        * c-c++-common/array-6.c: ... to here and add some more test coverage.
        * g++.dg/pr69338.C: New test.
        * g++.dg/pr69697.C: Likewise.
        * g++.dg/ext/flexary32.C: Likewise.
        * g++.dg/ext/flexary3.C: Adjust test.
        * g++.dg/ext/flexary12.C: Likewise.
        * g++.dg/ext/flexary13.C: Likewise.
        * g++.dg/ext/flexary15.C: Likewise.
        * g++.dg/warn/Wplacement-new-size-1.C: Likewise.
        * g++.dg/warn/Wplacement-new-size-2.C: Likewise.
        * g++.dg/warn/Wplacement-new-size-6.C: Likewise.

Added:
    trunk/gcc/testsuite/c-c++-common/array-6.c
      - copied, changed from r267652, trunk/gcc/testsuite/gcc.dg/array-6.c
    trunk/gcc/testsuite/g++.dg/ext/flexary32.C
    trunk/gcc/testsuite/g++.dg/pr69338.C
    trunk/gcc/testsuite/g++.dg/pr69697.C
Removed:
    trunk/gcc/testsuite/gcc.dg/array-6.c
Modified:
    trunk/gcc/cp/ChangeLog
    trunk/gcc/cp/cp-tree.h
    trunk/gcc/cp/typeck2.c
    trunk/gcc/testsuite/ChangeLog
    trunk/gcc/testsuite/g++.dg/ext/flexary12.C
    trunk/gcc/testsuite/g++.dg/ext/flexary13.C
    trunk/gcc/testsuite/g++.dg/ext/flexary15.C
    trunk/gcc/testsuite/g++.dg/ext/flexary3.C
    trunk/gcc/testsuite/g++.dg/warn/Wplacement-new-size-1.C
    trunk/gcc/testsuite/g++.dg/warn/Wplacement-new-size-2.C
    trunk/gcc/testsuite/g++.dg/warn/Wplacement-new-size-6.C


More information about the Gcc-bugs mailing list