On Tue, Jun 18, 2019 at 10:07:50AM +0200, Martin Liška wrote:
> diff --git a/gcc/builtins.c b/gcc/builtins.c
> index 3463ffb1539..b58e1e58d4d 100644
> --- a/gcc/builtins.c
> +++ b/gcc/builtins.c
> @@ -7142,6 +7142,20 @@ inline_expand_builtin_string_cmp (tree exp, rtx target)
> const char *src_str1 = c_getstr (arg1, &len1);
> const char *src_str2 = c_getstr (arg2, &len2);
>
> + if (src_str1 != NULL)
> + {
> + unsigned HOST_WIDE_INT str_str1_strlen = strnlen (src_str1, len1);
> + if (str_str1_strlen + 1 < len1)
> + len1 = str_str1_strlen + 1;
You really don't need any of this after strnlen. strnlen is already
guaranteed to return a number from 0 to len1 inclusive, so you can really
just do:
if (src_str1 != NULL)
len1 = strnlen (src_str1, len1);
Jakub