On Thu, Dec 16, 2021 at 10:53:20AM +0100, Tobias Burnus wrote:
> On 16.12.21 10:24, Jakub Jelinek wrote:
> > Neither default nor disable are valid offload targets, so I think we need
> > to reword the note. valid ‘-foffload=’ arguments are:
> > or so?
> 
> Granted. For the second line, I concur – I am not quite
> sure about the first line, i.e.
>   gcc: error: GCC is not configured to support ‘nvptx’ as offload target
> is nicer than
>   gcc: error: GCC is not configured to support ‘nvptx’ as ‘-foffload=’ 
> argument
> while for disabled, the second version is better for misspelled arguments 
> like 'disabled'.
> 
> I have now used the second version:
> 
> gcc: error: GCC is not configured to support ‘disabled’ as ‘-foffload=’ 
> argument
> gcc: note: valid ‘-foffload=’ arguments are: default disable; did you mean 
> ‘disable’?
> 
> gcc: error: GCC is not configured to support ‘x’ as ‘-foffload=’ argument
> gcc: note: valid ‘-foffload=’ arguments are: default disable
> 
> Tobias
> -----------------
> Siemens Electronic Design Automation GmbH; Anschrift: Arnulfstraße 201, 80634 
> München; Gesellschaft mit beschränkter Haftung; Geschäftsführer: Thomas 
> Heurung, Frank Thürauf; Sitz der Gesellschaft: München; Registergericht 
> München, HRB 106955

> For -foffload= suggest also 'disable' and 'default' [PR103644]
> 
> gcc/ChangeLog:
> 
>       PR driver/103644
>       * gcc.c (check_offload_target_name): Add 'default' and 'disable'
>       to the candidate list.

Ok, thanks.

> diff --git a/gcc/gcc.c b/gcc/gcc.c
> index 694c2573109..b75b50b87b2 100644
> --- a/gcc/gcc.c
> +++ b/gcc/gcc.c
> @@ -4017,26 +4017,25 @@ check_offload_target_name (const char *target, 
> ptrdiff_t len)
>        memcpy (cand, OFFLOAD_TARGETS, olen);
>        for (c = strtok (cand, ","); c; c = strtok (NULL, ","))
>       candidates.safe_push (c);
> +      candidates.safe_push ("default");
> +      candidates.safe_push ("disable");
>  
>        char *target2 = XALLOCAVEC (char, len + 1);
>        memcpy (target2, target, len);
>        target2[len] = '\0';
>  
> -      error ("GCC is not configured to support %qs as offload target", 
> target2);
> +      error ("GCC is not configured to support %qs as %<-foffload=%> 
> argument",
> +          target2);
>  
> -      if (candidates.is_empty ())
> -     inform (UNKNOWN_LOCATION, "no offloading targets configured");
> +      char *s;
> +      const char *hint = candidates_list_and_hint (target2, s, candidates);
> +      if (hint)
> +     inform (UNKNOWN_LOCATION,
> +             "valid %<-foffload=%> arguments are: %s; "
> +             "did you mean %qs?", s, hint);
>        else
> -     {
> -       char *s;
> -       const char *hint = candidates_list_and_hint (target2, s, candidates);
> -       if (hint)
> -         inform (UNKNOWN_LOCATION,
> -                 "valid offload targets are: %s; did you mean %qs?", s, 
> hint);
> -       else
> -         inform (UNKNOWN_LOCATION, "valid offload targets are: %s", s);
> -       XDELETEVEC (s);
> -     }
> +     inform (UNKNOWN_LOCATION, "valid %<-foffload=%> arguments are: %s", s);
> +      XDELETEVEC (s);
>        return false;
>      }
>    return true;


        Jakub

Reply via email to