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. gcc/gcc.c | 25 ++++++++++++------------- 1 file changed, 12 insertions(+), 13 deletions(-) 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;