[PATCH] offloading: fix -foffload hinting

Jakub Jelinek jakub@redhat.com
Mon Jul 12 09:17:25 GMT 2021


On Mon, Jul 12, 2021 at 11:01:39AM +0200, Martin Liška wrote:
> We should not call candidates_list_and_hint if there are no candidates.
> 
> Ready after testing finishes?
> Thanks,
> Martin
> 
> 	sanitizer/101425
> 
> gcc/ChangeLog:
> 
> 	* gcc.c (check_offload_target_name): Call
> 	  candidates_list_and_hint only if we have a candidate.
> ---
>  gcc/gcc.c | 15 +++++++++------
>  1 file changed, 9 insertions(+), 6 deletions(-)
> 
> diff --git a/gcc/gcc.c b/gcc/gcc.c
> index f086dd47b91..16a8aa8f17b 100644
> --- a/gcc/gcc.c
> +++ b/gcc/gcc.c
> @@ -4015,15 +4015,18 @@ 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);
> +	{
> +	  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;

Please move char *s; declaration into the new scope.
Ok with that change.

	Jakub



More information about the Gcc-patches mailing list