diff --git a/libc/src/time/CMakeLists.txt b/libc/src/time/CMakeLists.txt index 8f953e4c9b132..d45ef64d89125 100644 --- a/libc/src/time/CMakeLists.txt +++ b/libc/src/time/CMakeLists.txt @@ -9,7 +9,6 @@ add_object_library( HDRS time_utils.h DEPENDS - libc.include.errno libc.include.time libc.src.errno.errno ) @@ -67,7 +66,6 @@ add_entrypoint_object( gettimeofday.h DEPENDS .clock_gettime - libc.include.errno libc.include.time libc.include.sys_syscall libc.src.__support.OSUtil.osutil @@ -104,7 +102,6 @@ add_entrypoint_object( mktime.h DEPENDS .time_utils - libc.include.errno libc.include.time libc.src.errno.errno ) @@ -116,7 +113,6 @@ add_entrypoint_object( HDRS nanosleep.h DEPENDS - libc.include.errno libc.include.time libc.include.sys_syscall libc.src.__support.OSUtil.osutil diff --git a/libc/src/time/clock_gettime.cpp b/libc/src/time/clock_gettime.cpp index df7929f3f1b13..e8f9994ae696e 100644 --- a/libc/src/time/clock_gettime.cpp +++ b/libc/src/time/clock_gettime.cpp @@ -10,8 +10,8 @@ #include "src/__support/OSUtil/syscall.h" // For internal syscall function. #include "src/__support/common.h" +#include "src/errno/libc_errno.h" -#include #include // For syscall numbers. #include @@ -25,7 +25,7 @@ LLVM_LIBC_FUNCTION(int, clock_gettime, // A negative return value indicates an error with the magnitude of the // value being the error code. if (ret_val < 0) { - errno = -ret_val; + libc_errno = -ret_val; return -1; } diff --git a/libc/src/time/gettimeofday.cpp b/libc/src/time/gettimeofday.cpp index 266ba14648a2c..7c16c01d1dd91 100644 --- a/libc/src/time/gettimeofday.cpp +++ b/libc/src/time/gettimeofday.cpp @@ -10,8 +10,8 @@ #include "src/__support/OSUtil/syscall.h" // For internal syscall function. #include "src/__support/common.h" +#include "src/errno/libc_errno.h" -#include #include // For syscall numbers. namespace __llvm_libc { @@ -27,7 +27,7 @@ LLVM_LIBC_FUNCTION(int, gettimeofday, // A negative return value indicates an error with the magnitude of the // value being the error code. if (ret_val < 0) { - errno = -ret_val; + libc_errno = -ret_val; return -1; } tv->tv_sec = tp.tv_sec; diff --git a/libc/src/time/linux/clock.cpp b/libc/src/time/linux/clock.cpp index d448f8ba54ed8..ff91e95488088 100644 --- a/libc/src/time/linux/clock.cpp +++ b/libc/src/time/linux/clock.cpp @@ -11,8 +11,8 @@ #include "src/__support/CPP/limits.h" #include "src/__support/OSUtil/syscall.h" // For internal syscall function. #include "src/__support/common.h" +#include "src/errno/libc_errno.h" -#include #include // For syscall numbers. #include @@ -23,7 +23,7 @@ LLVM_LIBC_FUNCTION(clock_t, clock, ()) { long ret_val = __llvm_libc::syscall_impl( SYS_clock_gettime, CLOCK_PROCESS_CPUTIME_ID, reinterpret_cast(&ts)); if (ret_val < 0) { - errno = -ret_val; + libc_errno = -ret_val; return clock_t(-1); } diff --git a/libc/src/time/linux/time.cpp b/libc/src/time/linux/time.cpp index 9e39ffa502597..02b55a2f4c026 100644 --- a/libc/src/time/linux/time.cpp +++ b/libc/src/time/linux/time.cpp @@ -10,8 +10,8 @@ #include "src/__support/OSUtil/syscall.h" // For internal syscall function. #include "src/__support/common.h" +#include "src/errno/libc_errno.h" -#include #include // For syscall numbers. #include @@ -23,7 +23,7 @@ LLVM_LIBC_FUNCTION(time_t, time, (time_t * tp)) { long ret_val = __llvm_libc::syscall_impl(SYS_clock_gettime, CLOCK_REALTIME, reinterpret_cast(&ts)); if (ret_val < 0) { - errno = -ret_val; + libc_errno = -ret_val; return -1; } diff --git a/libc/src/time/nanosleep.cpp b/libc/src/time/nanosleep.cpp index d586b6aee5cd3..fe042fc0f1c60 100644 --- a/libc/src/time/nanosleep.cpp +++ b/libc/src/time/nanosleep.cpp @@ -8,11 +8,11 @@ //===----------------------------------------------------------------------===// #include "src/time/nanosleep.h" + #include "include/sys/syscall.h" // For syscall numbers. #include "src/__support/OSUtil/syscall.h" // For syscall functions. #include "src/__support/common.h" - -#include +#include "src/errno/libc_errno.h" namespace __llvm_libc { diff --git a/libc/src/time/time_utils.h b/libc/src/time/time_utils.h index 317195da7f61a..362b4a9085a9f 100644 --- a/libc/src/time/time_utils.h +++ b/libc/src/time/time_utils.h @@ -11,10 +11,8 @@ #include // For size_t. -#include "include/errno.h" - #include "src/__support/common.h" -#include "src/errno/llvmlibc_errno.h" +#include "src/errno/libc_errno.h" #include "src/time/mktime.h" #include @@ -86,11 +84,11 @@ extern int64_t update_from_seconds(int64_t total_seconds, struct tm *tm); // POSIX.1-2017 requires this. LIBC_INLINE time_t out_of_range() { - llvmlibc_errno = EOVERFLOW; + libc_errno = EOVERFLOW; return static_cast(-1); } -LIBC_INLINE void invalid_value() { llvmlibc_errno = EINVAL; } +LIBC_INLINE void invalid_value() { libc_errno = EINVAL; } LIBC_INLINE char *asctime(const struct tm *timeptr, char *buffer, size_t bufferLength) { diff --git a/libc/test/src/time/CMakeLists.txt b/libc/test/src/time/CMakeLists.txt index d059f5640dd65..378d754ca3e0e 100644 --- a/libc/test/src/time/CMakeLists.txt +++ b/libc/test/src/time/CMakeLists.txt @@ -62,10 +62,10 @@ add_libc_unittest( CXX_STANDARD 20 DEPENDS - libc.include.errno libc.include.time libc.src.time.gettimeofday libc.src.time.nanosleep + libc.src.errno.errno ) add_libc_unittest( @@ -119,9 +119,9 @@ add_libc_unittest( CXX_STANDARD 20 DEPENDS - libc.include.errno libc.include.time libc.src.time.nanosleep + libc.src.errno.errno ) add_libc_unittest( @@ -131,9 +131,9 @@ add_libc_unittest( SRCS time_test.cpp DEPENDS - libc.include.errno libc.include.time libc.src.time.time + libc.src.errno.errno ) add_libc_unittest( @@ -143,7 +143,7 @@ add_libc_unittest( SRCS clock_test.cpp DEPENDS - libc.include.errno libc.include.time libc.src.time.clock + libc.src.errno.errno ) diff --git a/libc/test/src/time/asctime_r_test.cpp b/libc/test/src/time/asctime_r_test.cpp index 748cec4f2bc92..7d40b635960aa 100644 --- a/libc/test/src/time/asctime_r_test.cpp +++ b/libc/test/src/time/asctime_r_test.cpp @@ -7,6 +7,7 @@ // //===----------------------------------------------------------------------===// +#include "src/errno/libc_errno.h" #include "src/time/asctime_r.h" #include "src/time/time_utils.h" #include "test/UnitTest/Test.h" @@ -27,17 +28,17 @@ static inline char *call_asctime_r(struct tm *tm_data, int year, int month, TEST(LlvmLibcAsctimeR, Nullptr) { char *result; result = __llvm_libc::asctime_r(nullptr, nullptr); - ASSERT_EQ(EINVAL, llvmlibc_errno); + ASSERT_EQ(EINVAL, libc_errno); ASSERT_STREQ(nullptr, result); char buffer[TimeConstants::ASCTIME_BUFFER_SIZE]; result = __llvm_libc::asctime_r(nullptr, buffer); - ASSERT_EQ(EINVAL, llvmlibc_errno); + ASSERT_EQ(EINVAL, libc_errno); ASSERT_STREQ(nullptr, result); struct tm tm_data; result = __llvm_libc::asctime_r(&tm_data, nullptr); - ASSERT_EQ(EINVAL, llvmlibc_errno); + ASSERT_EQ(EINVAL, libc_errno); ASSERT_STREQ(nullptr, result); } diff --git a/libc/test/src/time/asctime_test.cpp b/libc/test/src/time/asctime_test.cpp index e6a5040de235d..3df2edf1f9c9a 100644 --- a/libc/test/src/time/asctime_test.cpp +++ b/libc/test/src/time/asctime_test.cpp @@ -6,6 +6,7 @@ // //===----------------------------------------------------------------------===// +#include "src/errno/libc_errno.h" #include "src/time/asctime.h" #include "test/UnitTest/Test.h" #include "test/src/time/TmHelper.h" @@ -21,7 +22,7 @@ static inline char *call_asctime(struct tm *tm_data, int year, int month, TEST(LlvmLibcAsctime, Nullptr) { char *result; result = __llvm_libc::asctime(nullptr); - ASSERT_EQ(EINVAL, llvmlibc_errno); + ASSERT_EQ(EINVAL, libc_errno); ASSERT_STREQ(nullptr, result); } @@ -39,7 +40,7 @@ TEST(LlvmLibcAsctime, InvalidWday) { 0, // sec -1, // wday 0); // yday - ASSERT_EQ(EINVAL, llvmlibc_errno); + ASSERT_EQ(EINVAL, libc_errno); // Test with wday = 7. call_asctime(&tm_data, @@ -51,7 +52,7 @@ TEST(LlvmLibcAsctime, InvalidWday) { 0, // sec 7, // wday 0); // yday - ASSERT_EQ(EINVAL, llvmlibc_errno); + ASSERT_EQ(EINVAL, libc_errno); } // Months are from January to December. Test passing invalid value in month. @@ -68,7 +69,7 @@ TEST(LlvmLibcAsctime, InvalidMonth) { 0, // sec 4, // wday 0); // yday - ASSERT_EQ(EINVAL, llvmlibc_errno); + ASSERT_EQ(EINVAL, libc_errno); // Test with month = 13. call_asctime(&tm_data, @@ -80,7 +81,7 @@ TEST(LlvmLibcAsctime, InvalidMonth) { 0, // sec 4, // wday 0); // yday - ASSERT_EQ(EINVAL, llvmlibc_errno); + ASSERT_EQ(EINVAL, libc_errno); } TEST(LlvmLibcAsctime, ValidWeekdays) { @@ -208,6 +209,6 @@ TEST(LlvmLibcAsctime, Max64BitYear) { 50, // sec 2, // wday 50); // yday - ASSERT_EQ(EOVERFLOW, llvmlibc_errno); + ASSERT_EQ(EOVERFLOW, libc_errno); ASSERT_STREQ(nullptr, result); } diff --git a/libc/test/src/time/clock_test.cpp b/libc/test/src/time/clock_test.cpp index 31f7f1737ec18..fc7e5b54342d8 100644 --- a/libc/test/src/time/clock_test.cpp +++ b/libc/test/src/time/clock_test.cpp @@ -9,7 +9,6 @@ #include "src/time/clock.h" #include "test/UnitTest/Test.h" -#include #include #include diff --git a/libc/test/src/time/difftime_test.cpp b/libc/test/src/time/difftime_test.cpp index 61bb4bf4e9003..f099d5899c53b 100644 --- a/libc/test/src/time/difftime_test.cpp +++ b/libc/test/src/time/difftime_test.cpp @@ -12,8 +12,6 @@ #include "test/ErrnoSetterMatcher.h" #include "test/UnitTest/Test.h" -#include - using __llvm_libc::testing::ErrnoSetterMatcher::Succeeds; using __llvm_libc::time_utils::TimeConstants; diff --git a/libc/test/src/time/gettimeofday_test.cpp b/libc/test/src/time/gettimeofday_test.cpp index 771bea0b946e8..f6a021b56f826 100644 --- a/libc/test/src/time/gettimeofday_test.cpp +++ b/libc/test/src/time/gettimeofday_test.cpp @@ -6,7 +6,6 @@ // //===----------------------------------------------------------------------===// -#include #include #include "src/time/gettimeofday.h" diff --git a/libc/test/src/time/gmtime_test.cpp b/libc/test/src/time/gmtime_test.cpp index 47b78105adc05..12bc16d4ed5da 100644 --- a/libc/test/src/time/gmtime_test.cpp +++ b/libc/test/src/time/gmtime_test.cpp @@ -6,13 +6,13 @@ // //===----------------------------------------------------------------------===// +#include "src/errno/libc_errno.h" #include "src/time/gmtime.h" #include "src/time/time_utils.h" #include "test/ErrnoSetterMatcher.h" #include "test/UnitTest/Test.h" #include "test/src/time/TmMatcher.h" -#include #include using __llvm_libc::testing::ErrnoSetterMatcher::Fails; @@ -25,15 +25,15 @@ TEST(LlvmLibcGmTime, OutOfRange) { TimeConstants::NUMBER_OF_SECONDS_IN_LEAP_YEAR); struct tm *tm_data = __llvm_libc::gmtime(&seconds); EXPECT_TRUE(tm_data == nullptr); - EXPECT_EQ(llvmlibc_errno, EOVERFLOW); + EXPECT_EQ(libc_errno, EOVERFLOW); - llvmlibc_errno = 0; + libc_errno = 0; seconds = INT_MIN * static_cast( TimeConstants::NUMBER_OF_SECONDS_IN_LEAP_YEAR) - 1; tm_data = __llvm_libc::gmtime(&seconds); EXPECT_TRUE(tm_data == nullptr); - EXPECT_EQ(llvmlibc_errno, EOVERFLOW); + EXPECT_EQ(libc_errno, EOVERFLOW); } TEST(LlvmLibcGmTime, InvalidSeconds) { diff --git a/libc/test/src/time/mktime_test.cpp b/libc/test/src/time/mktime_test.cpp index 231696d45fcb8..03b0d50a44e4a 100644 --- a/libc/test/src/time/mktime_test.cpp +++ b/libc/test/src/time/mktime_test.cpp @@ -13,7 +13,6 @@ #include "test/src/time/TmHelper.h" #include "test/src/time/TmMatcher.h" -#include #include using __llvm_libc::testing::ErrnoSetterMatcher::Fails; diff --git a/libc/test/src/time/nanosleep_test.cpp b/libc/test/src/time/nanosleep_test.cpp index 054ce36897012..27c7b0fa2caa3 100644 --- a/libc/test/src/time/nanosleep_test.cpp +++ b/libc/test/src/time/nanosleep_test.cpp @@ -7,9 +7,9 @@ // //===----------------------------------------------------------------------===// -#include #include +#include "src/errno/libc_errno.h" #include "src/time/nanosleep.h" #include "test/ErrnoSetterMatcher.h" #include "test/UnitTest/Test.h" @@ -19,11 +19,11 @@ namespace cpp = __llvm_libc::cpp; TEST(LlvmLibcNanosleep, SmokeTest) { // TODO: When we have the code to read clocks, test that time has passed. using __llvm_libc::testing::ErrnoSetterMatcher::Succeeds; - errno = 0; + libc_errno = 0; struct timespec tim = {1, 500}; struct timespec tim2 = {0, 0}; int ret = __llvm_libc::nanosleep(&tim, &tim2); - ASSERT_EQ(errno, 0); + ASSERT_EQ(libc_errno, 0); ASSERT_EQ(ret, 0); } diff --git a/libc/test/src/time/time_test.cpp b/libc/test/src/time/time_test.cpp index 7183469db2615..92fd8e48a77a3 100644 --- a/libc/test/src/time/time_test.cpp +++ b/libc/test/src/time/time_test.cpp @@ -9,7 +9,6 @@ #include "src/time/time_func.h" #include "test/UnitTest/Test.h" -#include #include #include