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

--- Comment #36 from GCC 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:6ad7ca1bb905736c0f57688e93e9e77cbc71a325

commit r15-521-g6ad7ca1bb905736c0f57688e93e9e77cbc71a325
Author: Jakub Jelinek <ja...@redhat.com>
Date:   Wed May 15 18:50:11 2024 +0200

    c++: Optimize in maybe_clone_body aliases even when not at_eof [PR113208]

    This patch reworks the cdtor alias optimization, such that we can create
    aliases even when maybe_clone_body is called not at at_eof time, without
trying
    to repeat it in maybe_optimize_cdtor.

    2024-05-15  Jakub Jelinek  <ja...@redhat.com>
                Jason Merrill  <ja...@redhat.com>

            PR lto/113208
            * cp-tree.h (maybe_optimize_cdtor): Remove.
            * decl2.cc (tentative_decl_linkage): Call maybe_make_one_only
            for implicit instantiations of maybe in charge ctors/dtors
            declared inline.
            (import_export_decl): Don't call maybe_optimize_cdtor.
            (c_parse_final_cleanups): Formatting fixes.
            * optimize.cc (can_alias_cdtor): Adjust condition, for
            HAVE_COMDAT_GROUP && DECL_ONE_ONLY && DECL_WEAK return true even
            if not DECL_INTERFACE_KNOWN.
            (maybe_clone_body): Don't clear DECL_SAVED_TREE, instead set it
            to void_node.
            (maybe_clone_body): Remove.
            * decl.cc (cxx_comdat_group): For DECL_CLONED_FUNCTION_P
            functions if SUPPORTS_ONE_ONLY return DECL_COMDAT_GROUP if already
            set.

            * g++.dg/abi/comdat3.C: New test.
            * g++.dg/abi/comdat4.C: New test.

Reply via email to