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;

Reply via email to