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

--- Comment #6 from CVS Commits <cvs-commit at gcc dot gnu.org> ---
The master branch has been updated by Jakub Jelinek <ja...@gcc.gnu.org>:

https://gcc.gnu.org/g:158cccea0d097d9f181bf4e35fdeb97865c960f7

commit r10-7367-g158cccea0d097d9f181bf4e35fdeb97865c960f7
Author: Jakub Jelinek <ja...@redhat.com>
Date:   Wed Mar 25 09:18:33 2020 +0100

    middle-end: Avoid using DECL_UID in ASM_FORMAT_PRIVATE_NAME [PR94223]

    As mentioned in the PR, we don't guarantee DECL_UID to be the same between
    corresponding decls in -g and -g0 builds, -g can create more decls and all
    that is guaranteed is that the DECL_UIDs of the corresponding decls compare
    the same.
    The following testcase gets a -fcompare-debug failure because these
    functions use DECL_UID as the number in ASM_FORMAT_PRIVATE_NAME.

    The patch fixes it by using just a sequential number there instead.
    I don't think this can be called during PCH writing, this only happens for
    non-public decls and the C/C++ FEs shouldn't mangling those at that point
    (furthermore C++ FE uses a different set_decl_assembler_name hook and this
    one is something only the gimplifier calls on C.NNNN temporaries.

    2020-03-25  Jakub Jelinek  <ja...@redhat.com>

            PR c++/94223
            * langhooks.c (lhd_set_decl_assembler_name): Use a static ulong
            counter instead of DECL_UID.

            * lto-lang.c (lto_set_decl_assembler_name): Use a static ulong
            counter instead of DECL_UID.

            * g++.dg/opt/pr94223.C: New test.

Reply via email to