[libc-commits] [libc] [libc] Make errno asserts noop on gpu targets (PR #166606)
via libc-commits
libc-commits at lists.llvm.org
Wed Nov 5 10:29:10 PST 2025
llvmbot wrote:
<!--LLVM PR SUMMARY COMMENT-->
@llvm/pr-subscribers-libc
Author: Marcell Leleszi (mleleszi)
<details>
<summary>Changes</summary>
This patch defines errno unit and integration test asserts as noop on GPU targets. Checking for errnos is tests has caused build breakages in previous patches.
---
Full diff: https://github.com/llvm/llvm-project/pull/166606.diff
2 Files Affected:
- (modified) libc/test/IntegrationTest/test.h (+6)
- (modified) libc/test/UnitTest/ErrnoCheckingTest.h (+6)
``````````diff
diff --git a/libc/test/IntegrationTest/test.h b/libc/test/IntegrationTest/test.h
index 4a03f7aa6318b..4fc0566316a40 100644
--- a/libc/test/IntegrationTest/test.h
+++ b/libc/test/IntegrationTest/test.h
@@ -68,9 +68,15 @@
////////////////////////////////////////////////////////////////////////////////
// Errno checks.
+#ifdef LIBC_TARGET_ARCH_IS_GPU
+#define ASSERT_ERRNO_EQ(VAL)
+#define ASSERT_ERRNO_SUCCESS()
+#define ASSERT_ERRNO_FAILURE()
+#else
#define ASSERT_ERRNO_EQ(VAL) ASSERT_EQ(VAL, static_cast<int>(errno))
#define ASSERT_ERRNO_SUCCESS() ASSERT_EQ(0, static_cast<int>(errno))
#define ASSERT_ERRNO_FAILURE() ASSERT_NE(0, static_cast<int>(errno))
+#endif
// Integration tests are compiled with -ffreestanding which stops treating
// the main function as a non-overloadable special function. Hence, we use a
diff --git a/libc/test/UnitTest/ErrnoCheckingTest.h b/libc/test/UnitTest/ErrnoCheckingTest.h
index 5b1bc9441d830..2aa2ce70bfbb5 100644
--- a/libc/test/UnitTest/ErrnoCheckingTest.h
+++ b/libc/test/UnitTest/ErrnoCheckingTest.h
@@ -16,6 +16,11 @@
// Define macro to validate the value stored in the errno and restore it
// to zero.
+#ifdef LIBC_TARGET_ARCH_IS_GPU
+#define ASSERT_ERRNO_EQ(VAL)
+#define ASSERT_ERRNO_SUCCESS()
+#define ASSERT_ERRNO_FAILURE()
+#else
#define ASSERT_ERRNO_EQ(VAL) \
do { \
ASSERT_EQ(VAL, static_cast<int>(libc_errno)); \
@@ -27,6 +32,7 @@
ASSERT_NE(0, static_cast<int>(libc_errno)); \
libc_errno = 0; \
} while (0)
+#endif
namespace LIBC_NAMESPACE_DECL {
namespace testing {
``````````
</details>
https://github.com/llvm/llvm-project/pull/166606
More information about the libc-commits
mailing list