[libc-commits] [libc] [libc] create TimeReader to look at a struct tm (PR #126138)

LLVM Continuous Integration via libc-commits libc-commits at lists.llvm.org
Tue Feb 11 15:47:55 PST 2025


llvm-ci wrote:

LLVM Buildbot has detected a new failure on builder `fuchsia-x86_64-linux` running on `fuchsia-debian-64-us-central1-a-1` while building `libc` at step 4 "annotate".

Full details are available at: https://lab.llvm.org/buildbot/#/builders/11/builds/12453

<details>
<summary>Here is the relevant piece of the build log for the reference</summary>

```
Step 4 (annotate) failure: 'python ../llvm-zorg/zorg/buildbot/builders/annotated/fuchsia-linux.py ...' (failure)
...
[450/2777] Building CXX object libc/src/string/CMakeFiles/libc.src.string.strchrnul.dir/strchrnul.cpp.obj
[451/2777] Building CXX object libc/src/string/CMakeFiles/libc.src.string.strlen.dir/strlen.cpp.obj
[452/2777] Building CXX object libc/src/time/CMakeFiles/libc.src.time.difftime.dir/difftime.cpp.obj
[453/2777] Copying CXX header __algorithm/lower_bound.h
[454/2777] Copying CXX header __algorithm/make_heap.h
[455/2777] Building CXX object libc/src/math/generic/CMakeFiles/libc.src.math.generic.nanf.dir/nanf.cpp.obj
[456/2777] Building CXX object libc/src/math/generic/CMakeFiles/libc.src.math.generic.nanl.dir/nanl.cpp.obj
[457/2777] Building CXX object libc/src/string/CMakeFiles/libc.src.string.strcspn.dir/strcspn.cpp.obj
[458/2777] Building CXX object libc/src/string/CMakeFiles/libc.src.string.strlcpy.dir/strlcpy.cpp.obj
[459/2777] Building CXX object libc/src/time/CMakeFiles/libc.src.time.asctime_r.dir/asctime_r.cpp.obj
FAILED: libc/src/time/CMakeFiles/libc.src.time.asctime_r.dir/asctime_r.cpp.obj 
/var/lib/buildbot/fuchsia-x86_64-linux/build/llvm-build-3nselvtn/bin/clang++ --target=armv8m.main-none-eabi -DLIBC_NAMESPACE=__llvm_libc_21_0_0_git -I/var/lib/buildbot/fuchsia-x86_64-linux/llvm-project/libc -isystem /var/lib/buildbot/fuchsia-x86_64-linux/build/llvm-build-3nselvtn/include/armv8m.main-unknown-none-eabi --target=armv8m.main-none-eabi -Wno-atomic-alignment "-Dvfprintf(stream, format, vlist)=vprintf(format, vlist)" "-Dfprintf(stream, format, ...)=printf(format)" -D_LIBCPP_PRINT=1 -mthumb -mfloat-abi=softfp -march=armv8m.main+fp+dsp -mcpu=cortex-m33 -fPIC -fno-semantic-interposition -fvisibility-inlines-hidden -Werror=date-time -Werror=unguarded-availability-new -Wall -Wextra -Wno-unused-parameter -Wwrite-strings -Wcast-qual -Wmissing-field-initializers -Wimplicit-fallthrough -Wcovered-switch-default -Wno-noexcept-type -Wnon-virtual-dtor -Wdelete-non-virtual-dtor -Wsuggest-override -Wstring-conversion -Wmisleading-indentation -Wctad-maybe-unsupported -ffunction-sections -fdata-sections -ffile-prefix-map=/var/lib/buildbot/fuchsia-x86_64-linux/build/llvm-build-3nselvtn/runtimes/runtimes-armv8m.main-none-eabi-bins=../../../../llvm-project -ffile-prefix-map=/var/lib/buildbot/fuchsia-x86_64-linux/llvm-project/= -no-canonical-prefixes -Os -DNDEBUG -std=gnu++17 --target=armv8m.main-none-eabi -DLIBC_QSORT_IMPL=LIBC_QSORT_HEAP_SORT -DLIBC_TYPES_TIME_T_IS_32_BIT -DLIBC_ADD_NULL_CHECKS "-DLIBC_MATH=(LIBC_MATH_SKIP_ACCURATE_PASS | LIBC_MATH_SMALL_TABLES)" -fpie -ffreestanding -DLIBC_FULL_BUILD -nostdlibinc -ffixed-point -fno-builtin -fno-exceptions -fno-lax-vector-conversions -fno-unwind-tables -fno-asynchronous-unwind-tables -fno-rtti -ftrivial-auto-var-init=pattern -fno-omit-frame-pointer -Wall -Wextra -Werror -Wconversion -Wno-sign-conversion -Wdeprecated -Wno-c99-extensions -Wno-gnu-imaginary-constant -Wno-pedantic -Wimplicit-fallthrough -Wwrite-strings -Wextra-semi -Wnewline-eof -Wnonportable-system-include-path -Wstrict-prototypes -Wthread-safety -Wglobal-constructors -DLIBC_COPT_PUBLIC_PACKAGING -MD -MT libc/src/time/CMakeFiles/libc.src.time.asctime_r.dir/asctime_r.cpp.obj -MF libc/src/time/CMakeFiles/libc.src.time.asctime_r.dir/asctime_r.cpp.obj.d -o libc/src/time/CMakeFiles/libc.src.time.asctime_r.dir/asctime_r.cpp.obj -c /var/lib/buildbot/fuchsia-x86_64-linux/llvm-project/libc/src/time/asctime_r.cpp
In file included from /var/lib/buildbot/fuchsia-x86_64-linux/llvm-project/libc/src/time/asctime_r.cpp:13:
/var/lib/buildbot/fuchsia-x86_64-linux/llvm-project/libc/src/time/time_utils.h:332:12: error: implicit conversion loses integer precision: 'int64_t' (aka 'long long') to 'time_t' (aka 'int') [-Werror,-Wshorten-64-to-32]
  332 |     return mktime_internal(timeptr);
      |     ~~~~~~ ^~~~~~~~~~~~~~~~~~~~~~~~
1 error generated.
[460/2777] Copying CXX header __algorithm/make_projected.h
[461/2777] Building CXX object libc/src/string/CMakeFiles/libc.src.string.strcpy.dir/strcpy.cpp.obj
[462/2777] Copying CXX header __algorithm/max.h
[463/2777] Copying CXX header __algorithm/max_element.h
[464/2777] Copying CXX header __algorithm/partition.h
[465/2777] Copying CXX header __algorithm/partition_copy.h
[466/2777] Copying CXX header __algorithm/partition_point.h
[467/2777] Copying CXX header __algorithm/pop_heap.h
[468/2777] Building CXX object libc/src/time/CMakeFiles/libc.src.time.ctime.dir/ctime.cpp.obj
FAILED: libc/src/time/CMakeFiles/libc.src.time.ctime.dir/ctime.cpp.obj 
/var/lib/buildbot/fuchsia-x86_64-linux/build/llvm-build-3nselvtn/bin/clang++ --target=armv8m.main-none-eabi -DLIBC_NAMESPACE=__llvm_libc_21_0_0_git -I/var/lib/buildbot/fuchsia-x86_64-linux/llvm-project/libc -isystem /var/lib/buildbot/fuchsia-x86_64-linux/build/llvm-build-3nselvtn/include/armv8m.main-unknown-none-eabi --target=armv8m.main-none-eabi -Wno-atomic-alignment "-Dvfprintf(stream, format, vlist)=vprintf(format, vlist)" "-Dfprintf(stream, format, ...)=printf(format)" -D_LIBCPP_PRINT=1 -mthumb -mfloat-abi=softfp -march=armv8m.main+fp+dsp -mcpu=cortex-m33 -fPIC -fno-semantic-interposition -fvisibility-inlines-hidden -Werror=date-time -Werror=unguarded-availability-new -Wall -Wextra -Wno-unused-parameter -Wwrite-strings -Wcast-qual -Wmissing-field-initializers -Wimplicit-fallthrough -Wcovered-switch-default -Wno-noexcept-type -Wnon-virtual-dtor -Wdelete-non-virtual-dtor -Wsuggest-override -Wstring-conversion -Wmisleading-indentation -Wctad-maybe-unsupported -ffunction-sections -fdata-sections -ffile-prefix-map=/var/lib/buildbot/fuchsia-x86_64-linux/build/llvm-build-3nselvtn/runtimes/runtimes-armv8m.main-none-eabi-bins=../../../../llvm-project -ffile-prefix-map=/var/lib/buildbot/fuchsia-x86_64-linux/llvm-project/= -no-canonical-prefixes -Os -DNDEBUG -std=gnu++17 --target=armv8m.main-none-eabi -DLIBC_QSORT_IMPL=LIBC_QSORT_HEAP_SORT -DLIBC_TYPES_TIME_T_IS_32_BIT -DLIBC_ADD_NULL_CHECKS "-DLIBC_MATH=(LIBC_MATH_SKIP_ACCURATE_PASS | LIBC_MATH_SMALL_TABLES)" -fpie -ffreestanding -DLIBC_FULL_BUILD -nostdlibinc -ffixed-point -fno-builtin -fno-exceptions -fno-lax-vector-conversions -fno-unwind-tables -fno-asynchronous-unwind-tables -fno-rtti -ftrivial-auto-var-init=pattern -fno-omit-frame-pointer -Wall -Wextra -Werror -Wconversion -Wno-sign-conversion -Wdeprecated -Wno-c99-extensions -Wno-gnu-imaginary-constant -Wno-pedantic -Wimplicit-fallthrough -Wwrite-strings -Wextra-semi -Wnewline-eof -Wnonportable-system-include-path -Wstrict-prototypes -Wthread-safety -Wglobal-constructors -DLIBC_COPT_PUBLIC_PACKAGING -MD -MT libc/src/time/CMakeFiles/libc.src.time.ctime.dir/ctime.cpp.obj -MF libc/src/time/CMakeFiles/libc.src.time.ctime.dir/ctime.cpp.obj.d -o libc/src/time/CMakeFiles/libc.src.time.ctime.dir/ctime.cpp.obj -c /var/lib/buildbot/fuchsia-x86_64-linux/llvm-project/libc/src/time/ctime.cpp
In file included from /var/lib/buildbot/fuchsia-x86_64-linux/llvm-project/libc/src/time/ctime.cpp:14:
/var/lib/buildbot/fuchsia-x86_64-linux/llvm-project/libc/src/time/time_utils.h:332:12: error: implicit conversion loses integer precision: 'int64_t' (aka 'long long') to 'time_t' (aka 'int') [-Werror,-Wshorten-64-to-32]
  332 |     return mktime_internal(timeptr);
      |     ~~~~~~ ^~~~~~~~~~~~~~~~~~~~~~~~
1 error generated.
[469/2777] Copying CXX header __algorithm/prev_permutation.h
[470/2777] Building CXX object libc/src/stdlib/CMakeFiles/libc.src.stdlib.strtoull.dir/strtoull.cpp.obj
[471/2777] Building CXX object libc/src/string/CMakeFiles/libc.src.string.memset.dir/memset.cpp.obj
[472/2777] Copying CXX header __algorithm/push_heap.h
[473/2777] Copying CXX header __algorithm/pstl.h
[474/2777] Copying CXX header __algorithm/radix_sort.h
[475/2777] Building CXX object libc/src/string/CMakeFiles/libc.src.string.strlcat.dir/strlcat.cpp.obj
[476/2777] Copying CXX header __algorithm/ranges_all_of.h
[477/2777] Copying CXX header __algorithm/ranges_adjacent_find.h
[478/2777] Building CXX object libc/src/time/CMakeFiles/libc.src.time.time_utils.dir/time_utils.cpp.obj
FAILED: libc/src/time/CMakeFiles/libc.src.time.time_utils.dir/time_utils.cpp.obj 
/var/lib/buildbot/fuchsia-x86_64-linux/build/llvm-build-3nselvtn/bin/clang++ --target=armv8m.main-none-eabi -DLIBC_NAMESPACE=__llvm_libc_21_0_0_git -I/var/lib/buildbot/fuchsia-x86_64-linux/llvm-project/libc -isystem /var/lib/buildbot/fuchsia-x86_64-linux/build/llvm-build-3nselvtn/include/armv8m.main-unknown-none-eabi --target=armv8m.main-none-eabi -Wno-atomic-alignment "-Dvfprintf(stream, format, vlist)=vprintf(format, vlist)" "-Dfprintf(stream, format, ...)=printf(format)" -D_LIBCPP_PRINT=1 -mthumb -mfloat-abi=softfp -march=armv8m.main+fp+dsp -mcpu=cortex-m33 -fPIC -fno-semantic-interposition -fvisibility-inlines-hidden -Werror=date-time -Werror=unguarded-availability-new -Wall -Wextra -Wno-unused-parameter -Wwrite-strings -Wcast-qual -Wmissing-field-initializers -Wimplicit-fallthrough -Wcovered-switch-default -Wno-noexcept-type -Wnon-virtual-dtor -Wdelete-non-virtual-dtor -Wsuggest-override -Wstring-conversion -Wmisleading-indentation -Wctad-maybe-unsupported -ffunction-sections -fdata-sections -ffile-prefix-map=/var/lib/buildbot/fuchsia-x86_64-linux/build/llvm-build-3nselvtn/runtimes/runtimes-armv8m.main-none-eabi-bins=../../../../llvm-project -ffile-prefix-map=/var/lib/buildbot/fuchsia-x86_64-linux/llvm-project/= -no-canonical-prefixes -Os -DNDEBUG -std=gnu++17 --target=armv8m.main-none-eabi -DLIBC_QSORT_IMPL=LIBC_QSORT_HEAP_SORT -DLIBC_TYPES_TIME_T_IS_32_BIT -DLIBC_ADD_NULL_CHECKS "-DLIBC_MATH=(LIBC_MATH_SKIP_ACCURATE_PASS | LIBC_MATH_SMALL_TABLES)" -fpie -ffreestanding -DLIBC_FULL_BUILD -nostdlibinc -ffixed-point -fno-builtin -fno-exceptions -fno-lax-vector-conversions -fno-unwind-tables -fno-asynchronous-unwind-tables -fno-rtti -ftrivial-auto-var-init=pattern -fno-omit-frame-pointer -Wall -Wextra -Werror -Wconversion -Wno-sign-conversion -Wdeprecated -Wno-c99-extensions -Wno-gnu-imaginary-constant -Wno-pedantic -Wimplicit-fallthrough -Wwrite-strings -Wextra-semi -Wnewline-eof -Wnonportable-system-include-path -Wstrict-prototypes -Wthread-safety -Wglobal-constructors -MD -MT libc/src/time/CMakeFiles/libc.src.time.time_utils.dir/time_utils.cpp.obj -MF libc/src/time/CMakeFiles/libc.src.time.time_utils.dir/time_utils.cpp.obj.d -o libc/src/time/CMakeFiles/libc.src.time.time_utils.dir/time_utils.cpp.obj -c /var/lib/buildbot/fuchsia-x86_64-linux/llvm-project/libc/src/time/time_utils.cpp
In file included from /var/lib/buildbot/fuchsia-x86_64-linux/llvm-project/libc/src/time/time_utils.cpp:9:
/var/lib/buildbot/fuchsia-x86_64-linux/llvm-project/libc/src/time/time_utils.h:332:12: error: implicit conversion loses integer precision: 'int64_t' (aka 'long long') to 'time_t' (aka 'int') [-Werror,-Wshorten-64-to-32]
  332 |     return mktime_internal(timeptr);
      |     ~~~~~~ ^~~~~~~~~~~~~~~~~~~~~~~~
Step 6 (build) failure: build (failure)
...
[450/2777] Building CXX object libc/src/string/CMakeFiles/libc.src.string.strchrnul.dir/strchrnul.cpp.obj
[451/2777] Building CXX object libc/src/string/CMakeFiles/libc.src.string.strlen.dir/strlen.cpp.obj
[452/2777] Building CXX object libc/src/time/CMakeFiles/libc.src.time.difftime.dir/difftime.cpp.obj
[453/2777] Copying CXX header __algorithm/lower_bound.h
[454/2777] Copying CXX header __algorithm/make_heap.h
[455/2777] Building CXX object libc/src/math/generic/CMakeFiles/libc.src.math.generic.nanf.dir/nanf.cpp.obj
[456/2777] Building CXX object libc/src/math/generic/CMakeFiles/libc.src.math.generic.nanl.dir/nanl.cpp.obj
[457/2777] Building CXX object libc/src/string/CMakeFiles/libc.src.string.strcspn.dir/strcspn.cpp.obj
[458/2777] Building CXX object libc/src/string/CMakeFiles/libc.src.string.strlcpy.dir/strlcpy.cpp.obj
[459/2777] Building CXX object libc/src/time/CMakeFiles/libc.src.time.asctime_r.dir/asctime_r.cpp.obj
FAILED: libc/src/time/CMakeFiles/libc.src.time.asctime_r.dir/asctime_r.cpp.obj 
/var/lib/buildbot/fuchsia-x86_64-linux/build/llvm-build-3nselvtn/bin/clang++ --target=armv8m.main-none-eabi -DLIBC_NAMESPACE=__llvm_libc_21_0_0_git -I/var/lib/buildbot/fuchsia-x86_64-linux/llvm-project/libc -isystem /var/lib/buildbot/fuchsia-x86_64-linux/build/llvm-build-3nselvtn/include/armv8m.main-unknown-none-eabi --target=armv8m.main-none-eabi -Wno-atomic-alignment "-Dvfprintf(stream, format, vlist)=vprintf(format, vlist)" "-Dfprintf(stream, format, ...)=printf(format)" -D_LIBCPP_PRINT=1 -mthumb -mfloat-abi=softfp -march=armv8m.main+fp+dsp -mcpu=cortex-m33 -fPIC -fno-semantic-interposition -fvisibility-inlines-hidden -Werror=date-time -Werror=unguarded-availability-new -Wall -Wextra -Wno-unused-parameter -Wwrite-strings -Wcast-qual -Wmissing-field-initializers -Wimplicit-fallthrough -Wcovered-switch-default -Wno-noexcept-type -Wnon-virtual-dtor -Wdelete-non-virtual-dtor -Wsuggest-override -Wstring-conversion -Wmisleading-indentation -Wctad-maybe-unsupported -ffunction-sections -fdata-sections -ffile-prefix-map=/var/lib/buildbot/fuchsia-x86_64-linux/build/llvm-build-3nselvtn/runtimes/runtimes-armv8m.main-none-eabi-bins=../../../../llvm-project -ffile-prefix-map=/var/lib/buildbot/fuchsia-x86_64-linux/llvm-project/= -no-canonical-prefixes -Os -DNDEBUG -std=gnu++17 --target=armv8m.main-none-eabi -DLIBC_QSORT_IMPL=LIBC_QSORT_HEAP_SORT -DLIBC_TYPES_TIME_T_IS_32_BIT -DLIBC_ADD_NULL_CHECKS "-DLIBC_MATH=(LIBC_MATH_SKIP_ACCURATE_PASS | LIBC_MATH_SMALL_TABLES)" -fpie -ffreestanding -DLIBC_FULL_BUILD -nostdlibinc -ffixed-point -fno-builtin -fno-exceptions -fno-lax-vector-conversions -fno-unwind-tables -fno-asynchronous-unwind-tables -fno-rtti -ftrivial-auto-var-init=pattern -fno-omit-frame-pointer -Wall -Wextra -Werror -Wconversion -Wno-sign-conversion -Wdeprecated -Wno-c99-extensions -Wno-gnu-imaginary-constant -Wno-pedantic -Wimplicit-fallthrough -Wwrite-strings -Wextra-semi -Wnewline-eof -Wnonportable-system-include-path -Wstrict-prototypes -Wthread-safety -Wglobal-constructors -DLIBC_COPT_PUBLIC_PACKAGING -MD -MT libc/src/time/CMakeFiles/libc.src.time.asctime_r.dir/asctime_r.cpp.obj -MF libc/src/time/CMakeFiles/libc.src.time.asctime_r.dir/asctime_r.cpp.obj.d -o libc/src/time/CMakeFiles/libc.src.time.asctime_r.dir/asctime_r.cpp.obj -c /var/lib/buildbot/fuchsia-x86_64-linux/llvm-project/libc/src/time/asctime_r.cpp
In file included from /var/lib/buildbot/fuchsia-x86_64-linux/llvm-project/libc/src/time/asctime_r.cpp:13:
/var/lib/buildbot/fuchsia-x86_64-linux/llvm-project/libc/src/time/time_utils.h:332:12: error: implicit conversion loses integer precision: 'int64_t' (aka 'long long') to 'time_t' (aka 'int') [-Werror,-Wshorten-64-to-32]
  332 |     return mktime_internal(timeptr);
      |     ~~~~~~ ^~~~~~~~~~~~~~~~~~~~~~~~
1 error generated.
[460/2777] Copying CXX header __algorithm/make_projected.h
[461/2777] Building CXX object libc/src/string/CMakeFiles/libc.src.string.strcpy.dir/strcpy.cpp.obj
[462/2777] Copying CXX header __algorithm/max.h
[463/2777] Copying CXX header __algorithm/max_element.h
[464/2777] Copying CXX header __algorithm/partition.h
[465/2777] Copying CXX header __algorithm/partition_copy.h
[466/2777] Copying CXX header __algorithm/partition_point.h
[467/2777] Copying CXX header __algorithm/pop_heap.h
[468/2777] Building CXX object libc/src/time/CMakeFiles/libc.src.time.ctime.dir/ctime.cpp.obj
FAILED: libc/src/time/CMakeFiles/libc.src.time.ctime.dir/ctime.cpp.obj 
/var/lib/buildbot/fuchsia-x86_64-linux/build/llvm-build-3nselvtn/bin/clang++ --target=armv8m.main-none-eabi -DLIBC_NAMESPACE=__llvm_libc_21_0_0_git -I/var/lib/buildbot/fuchsia-x86_64-linux/llvm-project/libc -isystem /var/lib/buildbot/fuchsia-x86_64-linux/build/llvm-build-3nselvtn/include/armv8m.main-unknown-none-eabi --target=armv8m.main-none-eabi -Wno-atomic-alignment "-Dvfprintf(stream, format, vlist)=vprintf(format, vlist)" "-Dfprintf(stream, format, ...)=printf(format)" -D_LIBCPP_PRINT=1 -mthumb -mfloat-abi=softfp -march=armv8m.main+fp+dsp -mcpu=cortex-m33 -fPIC -fno-semantic-interposition -fvisibility-inlines-hidden -Werror=date-time -Werror=unguarded-availability-new -Wall -Wextra -Wno-unused-parameter -Wwrite-strings -Wcast-qual -Wmissing-field-initializers -Wimplicit-fallthrough -Wcovered-switch-default -Wno-noexcept-type -Wnon-virtual-dtor -Wdelete-non-virtual-dtor -Wsuggest-override -Wstring-conversion -Wmisleading-indentation -Wctad-maybe-unsupported -ffunction-sections -fdata-sections -ffile-prefix-map=/var/lib/buildbot/fuchsia-x86_64-linux/build/llvm-build-3nselvtn/runtimes/runtimes-armv8m.main-none-eabi-bins=../../../../llvm-project -ffile-prefix-map=/var/lib/buildbot/fuchsia-x86_64-linux/llvm-project/= -no-canonical-prefixes -Os -DNDEBUG -std=gnu++17 --target=armv8m.main-none-eabi -DLIBC_QSORT_IMPL=LIBC_QSORT_HEAP_SORT -DLIBC_TYPES_TIME_T_IS_32_BIT -DLIBC_ADD_NULL_CHECKS "-DLIBC_MATH=(LIBC_MATH_SKIP_ACCURATE_PASS | LIBC_MATH_SMALL_TABLES)" -fpie -ffreestanding -DLIBC_FULL_BUILD -nostdlibinc -ffixed-point -fno-builtin -fno-exceptions -fno-lax-vector-conversions -fno-unwind-tables -fno-asynchronous-unwind-tables -fno-rtti -ftrivial-auto-var-init=pattern -fno-omit-frame-pointer -Wall -Wextra -Werror -Wconversion -Wno-sign-conversion -Wdeprecated -Wno-c99-extensions -Wno-gnu-imaginary-constant -Wno-pedantic -Wimplicit-fallthrough -Wwrite-strings -Wextra-semi -Wnewline-eof -Wnonportable-system-include-path -Wstrict-prototypes -Wthread-safety -Wglobal-constructors -DLIBC_COPT_PUBLIC_PACKAGING -MD -MT libc/src/time/CMakeFiles/libc.src.time.ctime.dir/ctime.cpp.obj -MF libc/src/time/CMakeFiles/libc.src.time.ctime.dir/ctime.cpp.obj.d -o libc/src/time/CMakeFiles/libc.src.time.ctime.dir/ctime.cpp.obj -c /var/lib/buildbot/fuchsia-x86_64-linux/llvm-project/libc/src/time/ctime.cpp
In file included from /var/lib/buildbot/fuchsia-x86_64-linux/llvm-project/libc/src/time/ctime.cpp:14:
/var/lib/buildbot/fuchsia-x86_64-linux/llvm-project/libc/src/time/time_utils.h:332:12: error: implicit conversion loses integer precision: 'int64_t' (aka 'long long') to 'time_t' (aka 'int') [-Werror,-Wshorten-64-to-32]
  332 |     return mktime_internal(timeptr);
      |     ~~~~~~ ^~~~~~~~~~~~~~~~~~~~~~~~
1 error generated.
[469/2777] Copying CXX header __algorithm/prev_permutation.h
[470/2777] Building CXX object libc/src/stdlib/CMakeFiles/libc.src.stdlib.strtoull.dir/strtoull.cpp.obj
[471/2777] Building CXX object libc/src/string/CMakeFiles/libc.src.string.memset.dir/memset.cpp.obj
[472/2777] Copying CXX header __algorithm/push_heap.h
[473/2777] Copying CXX header __algorithm/pstl.h
[474/2777] Copying CXX header __algorithm/radix_sort.h
[475/2777] Building CXX object libc/src/string/CMakeFiles/libc.src.string.strlcat.dir/strlcat.cpp.obj
[476/2777] Copying CXX header __algorithm/ranges_all_of.h
[477/2777] Copying CXX header __algorithm/ranges_adjacent_find.h
[478/2777] Building CXX object libc/src/time/CMakeFiles/libc.src.time.time_utils.dir/time_utils.cpp.obj
FAILED: libc/src/time/CMakeFiles/libc.src.time.time_utils.dir/time_utils.cpp.obj 
/var/lib/buildbot/fuchsia-x86_64-linux/build/llvm-build-3nselvtn/bin/clang++ --target=armv8m.main-none-eabi -DLIBC_NAMESPACE=__llvm_libc_21_0_0_git -I/var/lib/buildbot/fuchsia-x86_64-linux/llvm-project/libc -isystem /var/lib/buildbot/fuchsia-x86_64-linux/build/llvm-build-3nselvtn/include/armv8m.main-unknown-none-eabi --target=armv8m.main-none-eabi -Wno-atomic-alignment "-Dvfprintf(stream, format, vlist)=vprintf(format, vlist)" "-Dfprintf(stream, format, ...)=printf(format)" -D_LIBCPP_PRINT=1 -mthumb -mfloat-abi=softfp -march=armv8m.main+fp+dsp -mcpu=cortex-m33 -fPIC -fno-semantic-interposition -fvisibility-inlines-hidden -Werror=date-time -Werror=unguarded-availability-new -Wall -Wextra -Wno-unused-parameter -Wwrite-strings -Wcast-qual -Wmissing-field-initializers -Wimplicit-fallthrough -Wcovered-switch-default -Wno-noexcept-type -Wnon-virtual-dtor -Wdelete-non-virtual-dtor -Wsuggest-override -Wstring-conversion -Wmisleading-indentation -Wctad-maybe-unsupported -ffunction-sections -fdata-sections -ffile-prefix-map=/var/lib/buildbot/fuchsia-x86_64-linux/build/llvm-build-3nselvtn/runtimes/runtimes-armv8m.main-none-eabi-bins=../../../../llvm-project -ffile-prefix-map=/var/lib/buildbot/fuchsia-x86_64-linux/llvm-project/= -no-canonical-prefixes -Os -DNDEBUG -std=gnu++17 --target=armv8m.main-none-eabi -DLIBC_QSORT_IMPL=LIBC_QSORT_HEAP_SORT -DLIBC_TYPES_TIME_T_IS_32_BIT -DLIBC_ADD_NULL_CHECKS "-DLIBC_MATH=(LIBC_MATH_SKIP_ACCURATE_PASS | LIBC_MATH_SMALL_TABLES)" -fpie -ffreestanding -DLIBC_FULL_BUILD -nostdlibinc -ffixed-point -fno-builtin -fno-exceptions -fno-lax-vector-conversions -fno-unwind-tables -fno-asynchronous-unwind-tables -fno-rtti -ftrivial-auto-var-init=pattern -fno-omit-frame-pointer -Wall -Wextra -Werror -Wconversion -Wno-sign-conversion -Wdeprecated -Wno-c99-extensions -Wno-gnu-imaginary-constant -Wno-pedantic -Wimplicit-fallthrough -Wwrite-strings -Wextra-semi -Wnewline-eof -Wnonportable-system-include-path -Wstrict-prototypes -Wthread-safety -Wglobal-constructors -MD -MT libc/src/time/CMakeFiles/libc.src.time.time_utils.dir/time_utils.cpp.obj -MF libc/src/time/CMakeFiles/libc.src.time.time_utils.dir/time_utils.cpp.obj.d -o libc/src/time/CMakeFiles/libc.src.time.time_utils.dir/time_utils.cpp.obj -c /var/lib/buildbot/fuchsia-x86_64-linux/llvm-project/libc/src/time/time_utils.cpp
In file included from /var/lib/buildbot/fuchsia-x86_64-linux/llvm-project/libc/src/time/time_utils.cpp:9:
/var/lib/buildbot/fuchsia-x86_64-linux/llvm-project/libc/src/time/time_utils.h:332:12: error: implicit conversion loses integer precision: 'int64_t' (aka 'long long') to 'time_t' (aka 'int') [-Werror,-Wshorten-64-to-32]
  332 |     return mktime_internal(timeptr);
      |     ~~~~~~ ^~~~~~~~~~~~~~~~~~~~~~~~

```

</details>

https://github.com/llvm/llvm-project/pull/126138


More information about the libc-commits mailing list