mirror of
https://github.com/intel/llvm.git
synced 2026-01-13 19:08:21 +08:00
[libc] Make errno asserts noop on gpu targets (#166606)
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.
This commit is contained in:
@@ -14,5 +14,6 @@ add_object_library(
|
||||
libc.hdr.stdint_proxy
|
||||
libc.src.__support.OSUtil.osutil
|
||||
libc.src.__support.CPP.atomic
|
||||
libc.src.__support.macros.properties.architectures
|
||||
${arch_specific_deps}
|
||||
)
|
||||
|
||||
@@ -11,6 +11,7 @@
|
||||
|
||||
#include "src/__support/OSUtil/exit.h"
|
||||
#include "src/__support/OSUtil/io.h"
|
||||
#include "src/__support/macros/properties/architectures.h"
|
||||
|
||||
#define __AS_STRING(val) #val
|
||||
#define __CHECK_TRUE(file, line, val, should_exit) \
|
||||
@@ -68,9 +69,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
|
||||
|
||||
@@ -204,5 +204,6 @@ add_header_library(
|
||||
ErrnoCheckingTest.h
|
||||
DEPENDS
|
||||
libc.src.__support.common
|
||||
libc.src.__support.macros.properties.architectures
|
||||
libc.src.errno.errno
|
||||
)
|
||||
|
||||
@@ -11,11 +11,17 @@
|
||||
|
||||
#include "src/__support/libc_errno.h"
|
||||
#include "src/__support/macros/config.h"
|
||||
#include "src/__support/macros/properties/architectures.h"
|
||||
#include "test/UnitTest/Test.h"
|
||||
|
||||
// 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 +33,7 @@
|
||||
ASSERT_NE(0, static_cast<int>(libc_errno)); \
|
||||
libc_errno = 0; \
|
||||
} while (0)
|
||||
#endif
|
||||
|
||||
namespace LIBC_NAMESPACE_DECL {
|
||||
namespace testing {
|
||||
|
||||
Reference in New Issue
Block a user