On Fri, May 26, 2017 at 07:35:47AM -0400, Nathan Sidwell wrote:
> On 05/26/2017 03:54 AM, Jakub Jelinek wrote:
> > On Thu, May 25, 2017 at 09:03:31AM -0400, Nathan Sidwell wrote:
> > > This patch reimplements ADL.
> 
> > I believe this broke
> > FAIL: libgomp.c++/udr-12.C (test for excess errors)
> > UNRESOLVED: libgomp.c++/udr-12.C compilation failed to produce executable
> 
> In answer to my own question, Yes. Yes we should ADL the type.
> 
> Fixed thusly.

Thanks.

> 2017-05-26  Nathan Sidwell  <nat...@acm.org>
> 
>       * name-lookup.c (name_lookup::search_adl): ADL OMP UDR type args.
> 
> Index: name-lookup.c
> ===================================================================
> --- name-lookup.c     (revision 248488)
> +++ name-lookup.c     (working copy)
> @@ -998,9 +998,11 @@ name_lookup::search_adl (tree fns, vec<t
>    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;


        Jakub

Reply via email to