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:
Martin Liska 2021-07-12 10:59:06 +02:00
parent 1e72c24d2f
commit 9b8b37d1b6
1 changed files with 10 additions and 7 deletions

View File

@ -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;