forked from OSchip/llvm-project
[libc][NFC] Make few maths functions buildable outside of LLVM libc build.
Few math functions manipulate errno. They assumed that LLVM libc's errno is available. However, that might not be the case when these functions are used in a libc which does not use LLVM libc's errno. This change switches such uses of LLVM libc's errno to the normal public errno macro. This does not affect LLVM libc's build because the include order ensures we get LLVM libc's errno. Also, the header check rule ensures we are only including LLVM libc's errno.h.
This commit is contained in:
parent
1a323c8a96
commit
dba14814a6
|
@ -9,7 +9,6 @@
|
|||
#ifndef LLVM_LIBC_TEST_SRC_MATH_ROUNDTOINTEGERTEST_H
|
||||
#define LLVM_LIBC_TEST_SRC_MATH_ROUNDTOINTEGERTEST_H
|
||||
|
||||
#include "src/errno/llvmlibc_errno.h"
|
||||
#include "utils/FPUtil/FPBits.h"
|
||||
#include "utils/MPFRWrapper/MPFRUtils.h"
|
||||
#include "utils/UnitTest/Test.h"
|
||||
|
@ -47,7 +46,7 @@ private:
|
|||
void testOneInput(RoundToIntegerFunc func, F input, I expected,
|
||||
bool expectError) {
|
||||
#if math_errhandling & MATH_ERRNO
|
||||
llvmlibc_errno = 0;
|
||||
errno = 0;
|
||||
#endif
|
||||
#if math_errhandling & MATH_ERREXCEPT
|
||||
__llvm_libc::fputil::clearExcept(FE_ALL_EXCEPT);
|
||||
|
@ -60,14 +59,14 @@ private:
|
|||
ASSERT_EQ(__llvm_libc::fputil::testExcept(FE_ALL_EXCEPT), FE_INVALID);
|
||||
#endif
|
||||
#if math_errhandling & MATH_ERRNO
|
||||
ASSERT_EQ(llvmlibc_errno, EDOM);
|
||||
ASSERT_EQ(errno, EDOM);
|
||||
#endif
|
||||
} else {
|
||||
#if math_errhandling & MATH_ERREXCEPT
|
||||
ASSERT_EQ(__llvm_libc::fputil::testExcept(FE_ALL_EXCEPT), 0);
|
||||
#endif
|
||||
#if math_errhandling & MATH_ERRNO
|
||||
ASSERT_EQ(llvmlibc_errno, 0);
|
||||
ASSERT_EQ(errno, 0);
|
||||
#endif
|
||||
}
|
||||
}
|
||||
|
|
|
@ -31,7 +31,6 @@ add_header_library(
|
|||
libc.include.math
|
||||
libc.include.errno
|
||||
libc.include.fenv
|
||||
libc.src.errno.__errno_location
|
||||
libc.utils.CPP.standalone_cpp
|
||||
)
|
||||
|
||||
|
|
|
@ -16,7 +16,6 @@
|
|||
|
||||
#include <math.h>
|
||||
#if math_errhandling & MATH_ERRNO
|
||||
#include "src/errno/llvmlibc_errno.h"
|
||||
#include <errno.h>
|
||||
#endif
|
||||
|
||||
|
@ -247,7 +246,7 @@ static inline I roundedFloatToSignedInteger(F x) {
|
|||
FPBits<F> bits(x);
|
||||
auto setDomainErrorAndRaiseInvalid = []() {
|
||||
#if math_errhandling & MATH_ERRNO
|
||||
llvmlibc_errno = EDOM;
|
||||
errno = EDOM; // NOLINT
|
||||
#endif
|
||||
#if math_errhandling & MATH_ERREXCEPT
|
||||
raiseExcept(FE_INVALID);
|
||||
|
|
Loading…
Reference in New Issue