* name-lookup.c (name_lookup::search_adl): ADL OMP UDR type args.
authorNathan Sidwell <nathan@acm.org>
Fri, 26 May 2017 11:36:39 +0000 (11:36 +0000)
committerNathan Sidwell <nathan@gcc.gnu.org>
Fri, 26 May 2017 11:36:39 +0000 (11:36 +0000)
From-SVN: r248506

gcc/cp/ChangeLog
gcc/cp/name-lookup.c

index 8143e89..bd6fcde 100644 (file)
@@ -1,3 +1,7 @@
+2017-05-26  Nathan Sidwell  <nathan@acm.org>
+
+       * name-lookup.c (name_lookup::search_adl): ADL OMP UDR type args.
+
 2017-05-26  Jakub Jelinek  <jakub@redhat.com>
 
        * cp-tree.h (struct lang_decl_decomp): New type.
index 5d5f98a..02ed39a 100644 (file)
@@ -998,9 +998,11 @@ name_lookup::search_adl (tree fns, vec<tree, va_gc> *args)
   tree arg;
 
   FOR_EACH_VEC_ELT_REVERSE (*args, ix, arg)
-    /* OMP reduction operators put a type as the first arg.  I don't
-       suppose we should ADL on that?  */
-    if (!TYPE_P (arg))
+    /* OMP reduction operators put an ADL-significant type as the
+       first arg. */
+    if (TYPE_P (arg))
+      adl_type (arg);
+    else
       adl_expr (arg);
 
   delete fn_set;