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

--- Comment #1 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:8c4f0c0ceb346e7deb69a44688faab6103aa57da

commit r11-7477-g8c4f0c0ceb346e7deb69a44688faab6103aa57da
Author: Nathan Sidwell <nat...@acm.org>
Date:   Fri Feb 26 07:51:13 2021 -0800

    c++: namespace reachability [PR 99344]

    This reworks namespace serializing to avoid some issues I ran into
    when working on 99170.  In modules, (non-anonymous) namespaces are
    strange beasts, that always have external linkage, but may have
    module-specific visibility.  I still don't get the latter 100%
    correct, but this is in the right direction.

            PR c++/99344
            gcc/cp/
            * module.cc (trees_out::decl_node): Small refactor.
            (depset::hash::add_binding_entity): Return true on meeting an
            import.  Set namespace's import here.
            (module_state:write_namespaces): Inform of purview too.
            (module_state:read_namespaces): Adjust.
            * name-lookup.c (implicitly_export_namespace): Delete.
            (do_pushdecl): Don't call it.
            (push_namespace): Likewise, set purview.
            (add_imported_namespace): Reorder parms.
            * name-lookup.h (add_imported_namespace): Alter param ordering.
            gcc/testsuite/
            * g++.dg/modules/namespace-2_a.C
            * g++.dg/modules/pr99344_a.C
            * g++.dg/modules/pr99344_b.C

Reply via email to