From b67b23f00d2f9edcc05cc0339199860c2f35b864 Mon Sep 17 00:00:00 2001 From: Nathan Sidwell Date: Fri, 26 May 2017 11:36:39 +0000 Subject: [PATCH] * name-lookup.c (name_lookup::search_adl): ADL OMP UDR type args. From-SVN: r248506 --- gcc/cp/ChangeLog | 4 ++++ gcc/cp/name-lookup.c | 8 +++++--- 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog index 8143e8902ac..bd6fcde0e22 100644 --- a/gcc/cp/ChangeLog +++ b/gcc/cp/ChangeLog @@ -1,3 +1,7 @@ +2017-05-26 Nathan Sidwell + + * name-lookup.c (name_lookup::search_adl): ADL OMP UDR type args. + 2017-05-26 Jakub Jelinek * cp-tree.h (struct lang_decl_decomp): New type. diff --git a/gcc/cp/name-lookup.c b/gcc/cp/name-lookup.c index 5d5f98af0b0..02ed39ac988 100644 --- a/gcc/cp/name-lookup.c +++ b/gcc/cp/name-lookup.c @@ -998,9 +998,11 @@ name_lookup::search_adl (tree fns, vec *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; -- 2.30.2