Tested x86_64-pc-linux-gnu, applying to trunk.

-- 8< --

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.
---
 gcc/cp/name-lookup.cc | 1 +
 1 file changed, 1 insertion(+)

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

base-commit: 8fad025430b4fded6c9ebbc6bd4fd8ac4e8a2194
-- 
2.51.0

Reply via email to