]> gcc.gnu.org Git - gcc.git/commitdiff
offloading: fix -foffload hinting
authorMartin Liska <mliska@suse.cz>
Mon, 12 Jul 2021 08:59:06 +0000 (10:59 +0200)
committerMartin Liska <mliska@suse.cz>
Mon, 12 Jul 2021 09:35:03 +0000 (11:35 +0200)
PR sanitizer/101425

gcc/ChangeLog:

* gcc.c (check_offload_target_name): Call
  candidates_list_and_hint only if we have a candidate.

gcc/gcc.c

index f086dd47b9124d96274df4e394e4a7c32df9eab2..12b3440c342077026e940009d6a11f751fda6fa9 100644 (file)
--- a/gcc/gcc.c
+++ b/gcc/gcc.c
@@ -4001,7 +4001,6 @@ check_offload_target_name (const char *target, ptrdiff_t len)
     }
   if (!c)
     {
-      char *s;
       auto_vec<const char*> candidates;
       size_t olen = strlen (OFFLOAD_TARGETS) + 1;
       char *cand = XALLOCAVEC (char, olen);
@@ -4015,15 +4014,19 @@ check_offload_target_name (const char *target, ptrdiff_t len)
 
       error ("GCC is not configured to support %qs as offload target", target2);
 
-      const char *hint = candidates_list_and_hint (target2, s, candidates);
       if (candidates.is_empty ())
        inform (UNKNOWN_LOCATION, "no offloading targets configured");
-      else 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);
+       {
+         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);
+       }
       return false;
     }
   return true;
This page took 0.063725 seconds and 5 git commands to generate.