[PATCH] Stop applying a GCC-specific workaround on clang [BZ #30550]

Florian Weimer fweimer@redhat.com
Thu Jun 22 10:55:35 GMT 2023


* Tulio Magno Quites Machado Filho via Libc-alpha:

> From: Tulio Magno Quites Machado Filho <tuliom@redhat.com>
>
> GCC was the only compiler affected by the issue with
> __builtin_isinf_sign and float128.
>
> Fix BZ #30550.
> ---
>  math/math.h | 3 ++-
>  1 file changed, 2 insertions(+), 1 deletion(-)
>
> diff --git a/math/math.h b/math/math.h
> index 6427c72276..f13639943e 100644
> --- a/math/math.h
> +++ b/math/math.h
> @@ -1015,7 +1015,8 @@ enum
>  
>  /* Return nonzero value if X is positive or negative infinity.  */
>  # if __HAVE_DISTINCT_FLOAT128 && !__GNUC_PREREQ (7,0) \
> -     && !defined __SUPPORT_SNAN__ && !defined __cplusplus
> +     && !defined __SUPPORT_SNAN__ && !defined __cplusplus \
> +     && !defined __clang__
>     /* Since __builtin_isinf_sign is broken for float128 before GCC 7.0,
>        use the helper function, __isinff128, with older compilers.  This is
>        only provided for C mode, because in C++ mode, GCC has no support

This looks okay to me.

Reviewed-by: Florian Weimer <fweimer@redhat.com>

Thanks,
Florian



More information about the Libc-alpha mailing list