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