Skip to content

Commit 4abe47c

Browse files
authored
[libc] Enable 'mktime' for the GPU (#133437)
Summary: This is a dependency on `strftime` which we provide, so we should have this.
1 parent 6526cda commit 4abe47c

File tree

5 files changed

+13
-3
lines changed

5 files changed

+13
-3
lines changed

libc/cmake/modules/LLVMLibCTestRules.cmake

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -643,7 +643,7 @@ function(add_libc_hermetic test_name)
643643
cmake_parse_arguments(
644644
"HERMETIC_TEST"
645645
"IS_GPU_BENCHMARK" # Optional arguments
646-
"SUITE" # Single value arguments
646+
"SUITE;CXX_STANDARD" # Single value arguments
647647
"SRCS;HDRS;DEPENDS;ARGS;ENV;COMPILE_OPTIONS;LINK_LIBRARIES;LOADER_ARGS" # Multi-value arguments
648648
${ARGN}
649649
)
@@ -720,10 +720,14 @@ function(add_libc_hermetic test_name)
720720
${HERMETIC_TEST_SRCS}
721721
${HERMETIC_TEST_HDRS}
722722
)
723+
724+
if(NOT HERMETIC_TEST_CXX_STANDARD)
725+
set(HERMETIC_TEST_CXX_STANDARD ${CMAKE_CXX_STANDARD})
726+
endif()
723727
set_target_properties(${fq_build_target_name}
724728
PROPERTIES
725729
RUNTIME_OUTPUT_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
726-
#OUTPUT_NAME ${fq_target_name}
730+
CXX_STANDARD ${HERMETIC_TEST_CXX_STANDARD}
727731
)
728732

729733
target_include_directories(${fq_build_target_name} SYSTEM PRIVATE ${LIBC_INCLUDE_DIR})

libc/config/gpu/amdgpu/entrypoints.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -261,6 +261,7 @@ set(TARGET_LIBC_ENTRYPOINTS
261261
libc.src.time.nanosleep
262262
libc.src.time.strftime
263263
libc.src.time.strftime_l
264+
libc.src.time.mktime
264265

265266
# wchar.h entrypoints
266267
libc.src.wchar.wcslen

libc/config/gpu/nvptx/entrypoints.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -261,6 +261,7 @@ set(TARGET_LIBC_ENTRYPOINTS
261261
libc.src.time.nanosleep
262262
libc.src.time.strftime
263263
libc.src.time.strftime_l
264+
libc.src.time.mktime
264265

265266
# wchar.h entrypoints
266267
libc.src.wchar.wcslen

libc/test/src/time/CMakeLists.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -148,7 +148,7 @@ add_libc_unittest(
148148
libc.src.time.time_constants
149149
)
150150

151-
add_libc_unittest(
151+
add_libc_test(
152152
mktime_test
153153
SUITE
154154
libc_time_unittests

libc/test/src/time/mktime_test.cpp

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,10 @@ using LIBC_NAMESPACE::testing::ErrnoSetterMatcher::Fails;
1818
using LIBC_NAMESPACE::testing::ErrnoSetterMatcher::Succeeds;
1919
using LIBC_NAMESPACE::time_constants::Month;
2020

21+
#ifndef EOVERFLOW
22+
#define EOVERFLOW 0
23+
#endif
24+
2125
static inline constexpr int tm_year(int year) {
2226
return year - LIBC_NAMESPACE::time_constants::TIME_YEAR_BASE;
2327
}

0 commit comments

Comments
 (0)