]> git.ipfire.org Git - thirdparty/glibc.git/commitdiff
support: Handle clang support/dtotimespec.c on dtotimespec
authorAdhemerval Zanella <adhemerval.zanella@linaro.org>
Fri, 17 Oct 2025 19:13:02 +0000 (16:13 -0300)
committerAdhemerval Zanella <adhemerval.zanella@linaro.org>
Tue, 21 Oct 2025 12:26:04 +0000 (09:26 -0300)
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

index b4e252c71530de4247103a53528bb689ae4bf714..1b665752818242ae83a9627ade9dc4efe6cd408a 100644 (file)
@@ -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
     {