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

--- Comment #3 from GCC Commits <cvs-commit at gcc dot gnu.org> ---
The master branch has been updated by Nathaniel Shead <nsh...@gcc.gnu.org>:

https://gcc.gnu.org/g:a0dde47f84f17cbe7fa2fb41c14c5a2db8c4d63a

commit r14-8451-ga0dde47f84f17cbe7fa2fb41c14c5a2db8c4d63a
Author: Nathaniel Shead <nathanielosh...@gmail.com>
Date:   Wed Jan 3 09:27:06 2024 +1100

    c++: Emit definitions of ODR-used static members imported from modules
[PR112899]

    Static data members marked 'inline' should be emitted in TUs where they
    are ODR-used.  We need to make sure that inlines imported from modules
    are correctly added to the 'pending_statics' map so that they get
    emitted if needed, otherwise the attached testcase fails to link.

            PR c++/112899

    gcc/cp/ChangeLog:

            * cp-tree.h (note_variable_template_instantiation): Rename to...
            (note_vague_linkage_variable): ...this.
            * decl2.cc (note_variable_template_instantiation): Rename to...
            (note_vague_linkage_variable): ...this.
            * pt.cc (instantiate_decl): Rename usage of above function.
            * module.cc (trees_in::read_var_def): Remember pending statics
            that we stream in.

    gcc/testsuite/ChangeLog:

            * g++.dg/modules/init-4_a.C: New test.
            * g++.dg/modules/init-4_b.C: New test.
            * g++.dg/modules/init-6_a.H: New test.
            * g++.dg/modules/init-6_b.C: New test.

    Signed-off-by: Nathaniel Shead <nathanielosh...@gmail.com>
    Reviewed-by: Patrick Palka <ppa...@redhat.com>
    Reviewed-by: Jason Merrill <ja...@redhat.com
  • [Bug c++/112899] odr-using cons... cvs-commit at gcc dot gnu.org via Gcc-bugs

Reply via email to