c++: Standard mangling abbreviations & modules
authorNathan Sidwell <nathan@acm.org>
Thu, 3 Mar 2022 00:42:23 +0000 (19:42 -0500)
committerNathan Sidwell <nathan@acm.org>
Fri, 4 Mar 2022 19:59:28 +0000 (14:59 -0500)
commit591d2130348b15ec9158bb69a7fd9442bb81fa3a
tree4a89a8904660c32c058face949c8068d47d32f03
parent14dfbb53594e164fe222476523a68039a8bd5252
c++: Standard mangling abbreviations & modules

The std manglings for things like std::string should not apply if
we're not in the global module.

gcc/cp/
* mangle.cc (is_std_substitution): Check global module.
(is_std_substitution_char): Return bool.
gcc/testsuite/
* g++.dg/modules/std-subst-2.C: New.
* g++.dg/modules/std-subst-3.C: New.
* g++.dg/modules/std-subst-4_a.C: New.
* g++.dg/modules/std-subst-4_b.C: New.
* g++.dg/modules/std-subst-4_c.C: New.
gcc/cp/mangle.cc
gcc/testsuite/g++.dg/modules/std-subst-2.C [new file with mode: 0644]
gcc/testsuite/g++.dg/modules/std-subst-3.C [new file with mode: 0644]
gcc/testsuite/g++.dg/modules/std-subst-4_a.C [new file with mode: 0644]
gcc/testsuite/g++.dg/modules/std-subst-4_b.C [new file with mode: 0644]
gcc/testsuite/g++.dg/modules/std-subst-4_c.C [new file with mode: 0644]