From: Jason Merrill Date: Mon, 10 Nov 2025 13:02:53 +0000 (+0530) Subject: c++/modules: avoid too many hidden friends in ADL X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=52a24bcecd388ab6e7d4e6500809fc761f6e7ca5;p=thirdparty%2Fgcc.git c++/modules: avoid too many hidden friends in ADL Most of the add_fns calls in adl_namespace_fns also call ovl_skip_hidden, but we were forgetting that in the case of imports, which meant that for 24_iterators/const_iterator/112490.cc we were considering the unreachable_sentinel_t hidden friend operator== and therefore failing. gcc/cp/ChangeLog: * name-lookup.cc (name_lookup::adl_namespace_fns): Also skip hidden in the module case. --- diff --git a/gcc/cp/name-lookup.cc b/gcc/cp/name-lookup.cc index ef1360464c5..984d37c2089 100644 --- a/gcc/cp/name-lookup.cc +++ b/gcc/cp/name-lookup.cc @@ -1338,6 +1338,7 @@ name_lookup::adl_namespace_fns (tree scope, bitmap imports, bind = STAT_VISIBLE (bind); } + bind = ovl_skip_hidden (bind); if (on_inst_path || visible) add_fns (bind); else