offloading: fix -foffload hinting
PR sanitizer/101425 gcc/ChangeLog: * gcc.c (check_offload_target_name): Call candidates_list_and_hint only if we have a candidate.
This commit is contained in:
parent
1e72c24d2f
commit
9b8b37d1b6
17
gcc/gcc.c
17
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;
|
||||
|
|
Loading…
Reference in New Issue