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

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

https://gcc.gnu.org/g:3042862fbdba809473e3ea4ddc1697692b233d5f

commit r15-9610-g3042862fbdba809473e3ea4ddc1697692b233d5f
Author: Nathaniel Shead <nathanielosh...@gmail.com>
Date:   Tue Apr 29 17:31:55 2025 +1000

    c++/modules: Catch exposures of TU-local values through inline references
[PR119996]

    In r15-9136-g0210bedf481a9f we started erroring for inline variables
    that exposed TU-local entities in their definition, as such variables
    would need to have their definitions emitted in importers but would not
    know about the TU-local entities they referenced.

    A case we mised was potentially-constant references, which disable
    streaming of their definitions in make_dependency so as to comply with
    [expr.const] p9.2.  This meant that we didn't see the definition
    referencing a TU-local entity, leading to nonsensical results.

            PR c++/119551
            PR c++/119996

    gcc/cp/ChangeLog:

            * module.cc (depset::hash::make_dependency): Also mark inline
            variables referencing TU-local values as exposures here.
            (depset::hash::finalize_dependencies): Add error message for
            inline variables.

    gcc/testsuite/ChangeLog:

            * g++.dg/modules/internal-13.C: New test.

    Signed-off-by: Nathaniel Shead <nathanielosh...@gmail.com>
    Reviewed-by: Jason Merrill <ja...@redhat.com>
    (cherry picked from commit 22ccaded63e96e5a42f4e3676dbbb57aa05b36f9)

Reply via email to