diff options
author | Nathaniel Shead <nathanieloshead@gmail.com> | 2024-03-03 23:48:17 +1100 |
---|---|---|
committer | Nathaniel Shead <nathanieloshead@gmail.com> | 2024-03-05 10:32:57 +1100 |
commit | ad0f4ef6f74741ea6178a8b795e49effc2bc2a9c (patch) | |
tree | d93a0da5f7a2b2dff9b8b652c719c1bb81e89bc6 /libgfortran/io | |
parent | d646db0e35ad9d235635b204349f5d960072f9fe (diff) | |
download | gcc-ad0f4ef6f74741ea6178a8b795e49effc2bc2a9c.zip gcc-ad0f4ef6f74741ea6178a8b795e49effc2bc2a9c.tar.gz gcc-ad0f4ef6f74741ea6178a8b795e49effc2bc2a9c.tar.bz2 |
c++: Support exporting using-decls in same namespace as target
Currently a using-declaration bringing a name into its own namespace is
a no-op, except for functions. This prevents people from being able to
redeclare a name brought in from the GMF as exported, however, which
this patch fixes.
Apart from marking declarations as exported they are also now marked as
effectively being in the module purview (due to the using-decl) so that
they are properly processed, as 'add_binding_entity' assumes that
declarations not in the module purview cannot possibly be exported.
gcc/cp/ChangeLog:
* name-lookup.cc (walk_module_binding): Remove completed FIXME.
(do_nonmember_using_decl): Mark redeclared entities as exported
when needed. Check for re-exporting internal linkage types.
gcc/testsuite/ChangeLog:
* g++.dg/modules/using-12.C: New test.
* g++.dg/modules/using-13.h: New test.
* g++.dg/modules/using-13_a.C: New test.
* g++.dg/modules/using-13_b.C: New test.
Signed-off-by: Nathaniel Shead <nathanieloshead@gmail.com>
Diffstat (limited to 'libgfortran/io')
0 files changed, 0 insertions, 0 deletions