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

--- Comment #3 from CVS Commits <cvs-commit at gcc dot gnu.org> ---
The master branch has been updated by Nathan Sidwell <nat...@gcc.gnu.org>:

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

commit r11-7322-gc49fcfddaa47f2828fe2af11ae857cd67f53e23f
Author: Nathan Sidwell <nat...@acm.org>
Date:   Mon Feb 22 06:43:32 2021 -0800

    c++: cross-header-unit template definitions [PR 99153]

    A member function can be defined in a different header-file than the
    one defining the class.  In such situations we must unmark the decl as
    imported.  When the entity is a template we failed to unmark the
    template_decl.

    Perhaps the duplication of these flags on the template_decl from the
    underlying decl is an error.  I set on the fence about it for a long
    time during development, but I don't think now is the time to change
    that (barring catastrophic bugs).

            PR c++/99153
            gcc/cp/
            * decl.c (duplicate_decls): Move DECL_MODULE_IMPORT_P propagation
            to common-path.
            * module.cc (set_defining_module): Add assert.
            gcc/testsuite/
            * g++.dg/modules/pr99153_a.H: New.
            * g++.dg/modules/pr99153_b.H: New.

Reply via email to