diff options
author | Jason Merrill <jason@redhat.com> | 2024-06-12 08:06:47 -0400 |
---|---|---|
committer | Jason Merrill <jason@redhat.com> | 2024-06-12 16:30:42 -0400 |
commit | 074c1fc797435979c00b24aff2a4f895b8273bcf (patch) | |
tree | 113137380835b869f8d748bec1171d2af5ff9ae8 /gcc/cp/parser.cc | |
parent | f8356d66cfbda1e65536016d3049342a43f6af63 (diff) | |
download | gcc-074c1fc797435979c00b24aff2a4f895b8273bcf.zip gcc-074c1fc797435979c00b24aff2a4f895b8273bcf.tar.gz gcc-074c1fc797435979c00b24aff2a4f895b8273bcf.tar.bz2 |
c++: repeated export using
A sample implementation of module std was breaking because the exports
included 'using std::operator&' twice. Since Nathaniel's r15-964 for
PR114867, the first using added an extra instance of each function that was
revealed/exported by that using, resulting in duplicates for
lookup_maybe_add to dedup. But if the duplicate is the first thing in the
list, lookup_add doesn't make an OVERLOAD, so trying to set OVL_USING_P
crashes. Fixed by using ovl_make in the case where we want to set the flag.
gcc/cp/ChangeLog:
* tree.cc (lookup_maybe_add): Use ovl_make when setting OVL_USING_P.
gcc/testsuite/ChangeLog:
* g++.dg/modules/using-21_a.C: New test.
Diffstat (limited to 'gcc/cp/parser.cc')
0 files changed, 0 insertions, 0 deletions