[PATCH 27/59] support: Handle clang support/dtotimespec.c on dtotimespec
Sam James
sam@gentoo.org
Mon Oct 20 20:10:30 GMT 2025
Adhemerval Zanella <adhemerval.zanella@linaro.org> writes:
> clang issues:
>
> dtotimespec.c:31:25: error: implicit conversion from 'time_t' (aka
> 'long') to 'double' changes value from 9223372036854775807 to
> 9223372036854775808 [-Werror,-Wimplicit-const-int-float-conversion]
> else if (sec >= 1.0 + TYPE_MAXIMUM (time_t))
> ~ ^~~~~~~~~~~~~~~~~~~~~
> ../include/intprops.h:57:4: note: expanded from macro 'TYPE_MAXIMUM'
> ((t) (! TYPE_SIGNED (t)
> \
> ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>
> So explicit cast it to double.
Reviewed-by: Sam James <sam@gentoo.org>
> ---
> support/dtotimespec.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/support/dtotimespec.c b/support/dtotimespec.c
> index b4e252c715..1b66575281 100644
> --- a/support/dtotimespec.c
> +++ b/support/dtotimespec.c
> @@ -28,7 +28,7 @@ dtotimespec (double sec)
> {
> if (sec <= TYPE_MINIMUM (time_t))
> return make_timespec (TYPE_MINIMUM (time_t), 0);
> - else if (sec >= 1.0 + TYPE_MAXIMUM (time_t))
> + else if (sec >= 1.0 + (double) TYPE_MAXIMUM (time_t))
> return make_timespec (TYPE_MAXIMUM (time_t), TIMESPEC_HZ - 1);
> else
> {
More information about the Libc-alpha
mailing list