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

--- Comment #6 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:22ccaded63e96e5a42f4e3676dbbb57aa05b36f9

commit r16-317-g22ccaded63e96e5a42f4e3676dbbb57aa05b36f9
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>
  • [Bug c++/119551] [modules] ICE ... cvs-commit at gcc dot gnu.org via Gcc-bugs

Reply via email to