aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
Diffstat (limited to 'gcc')
-rw-r--r--gcc/cp/ChangeLog4
-rw-r--r--gcc/cp/name-lookup.c8
2 files changed, 9 insertions, 3 deletions
diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog
index 8143e89..bd6fcde 100644
--- a/gcc/cp/ChangeLog
+++ b/gcc/cp/ChangeLog
@@ -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.
diff --git a/gcc/cp/name-lookup.c b/gcc/cp/name-lookup.c
index 5d5f98a..02ed39a 100644
--- a/gcc/cp/name-lookup.c
+++ b/gcc/cp/name-lookup.c
@@ -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;