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

--- Comment #13 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
Author: jakub
Date: Thu Apr 20 09:18:02 2017
New Revision: 247014

URL: https://gcc.gnu.org/viewcvs?rev=247014&root=gcc&view=rev
Log:
        PR middle-end/80423
        * tree.h (build_array_type): Add typeless_storage default argument.
        * tree.c (type_cache_hasher::equal): Also compare
        TYPE_TYPELESS_STORAGE flag for ARRAY_TYPEs.
        (build_array_type): Add typeless_storage argument, set
        TYPE_TYPELESS_STORAGE to it, if shared also hash it, and pass to
        recursive call.
        (build_nonshared_array_type): Adjust build_array_type_1 caller.
        (build_array_type): Likewise.  Add typeless_storage argument.
c-family/
        * c-common.c (complete_array_type): Preserve TYPE_TYPELESS_STORAGE.
cp/
        * tree.c (build_cplus_array_type): Call build_array_type
        with the intended TYPE_TYPELESS_STORAGE flag value, instead
        of calling build_array_type and modifying later TYPE_TYPELESS_STORAGE
        on the shared type.
testsuite/
        * g++.dg/other/pr80423.C: New test.

Added:
    trunk/gcc/testsuite/g++.dg/other/pr80423.C
Modified:
    trunk/gcc/ChangeLog
    trunk/gcc/c-family/ChangeLog
    trunk/gcc/c-family/c-common.c
    trunk/gcc/cp/ChangeLog
    trunk/gcc/cp/tree.c
    trunk/gcc/testsuite/ChangeLog
    trunk/gcc/tree.c
    trunk/gcc/tree.h

Reply via email to