From d975be3a82084dee82ccb9b0fd3666a27ef94cdc Mon Sep 17 00:00:00 2001 From: lntue <35648136+lntue@users.noreply.github.com> Date: Wed, 25 Sep 2024 10:40:09 -0400 Subject: [PATCH] Revert "[libc][math] Implement issignaling macro. (#109615)" This reverts commit ac802a3148cc6df21f6ea3f9942a90499388fa25. --- .../llvm-libc-macros/math-function-macros.h | 4 -- libc/test/include/CMakeLists.txt | 45 ----------------- libc/test/include/IsSignalingTest.h | 49 ------------------- libc/test/include/issignaling_test.c | 24 --------- libc/test/include/issignaling_test.cpp | 18 ------- libc/test/include/issignalingf_test.cpp | 18 ------- libc/test/include/issignalingl_test.cpp | 18 ------- 7 files changed, 176 deletions(-) delete mode 100644 libc/test/include/IsSignalingTest.h delete mode 100644 libc/test/include/issignaling_test.c delete mode 100644 libc/test/include/issignaling_test.cpp delete mode 100644 libc/test/include/issignalingf_test.cpp delete mode 100644 libc/test/include/issignalingl_test.cpp diff --git a/libc/include/llvm-libc-macros/math-function-macros.h b/libc/include/llvm-libc-macros/math-function-macros.h index c740eb2d18825..68f9ff9d1c033 100644 --- a/libc/include/llvm-libc-macros/math-function-macros.h +++ b/libc/include/llvm-libc-macros/math-function-macros.h @@ -20,9 +20,5 @@ __builtin_fpclassify(FP_NAN, FP_INFINITE, FP_NORMAL, FP_SUBNORMAL, FP_ZERO, x) #define isnormal(x) __builtin_isnormal(x) #define issubnormal(x) (fpclassify(x) == FP_SUBNORMAL) -#if (defined(__clang__) && __clang_major__ >= 18) || \ - (defined(__GNUC__) && __GNUC__ >= 13) -#define issignaling(x) __builtin_issignaling(x) -#endif #endif // LLVM_LIBC_MACROS_MATH_FUNCTION_MACROS_H diff --git a/libc/test/include/CMakeLists.txt b/libc/test/include/CMakeLists.txt index dd8f21bdd07ae..12692eed417c4 100644 --- a/libc/test/include/CMakeLists.txt +++ b/libc/test/include/CMakeLists.txt @@ -81,36 +81,6 @@ add_libc_test( libc.include.llvm-libc-macros.stdckdint_macros ) -add_libc_test( - issignaling_test - SUITE - libc_include_tests - SRCS - issignaling_test.cpp - DEPENDS - libc.include.llvm-libc-macros.math_function_macros -) - -add_libc_test( - issignalingf_test - SUITE - libc_include_tests - SRCS - issignalingf_test.cpp - DEPENDS - libc.include.llvm-libc-macros.math_function_macros -) - -add_libc_test( - issignalingl_test - SUITE - libc_include_tests - SRCS - issignalingl_test.cpp - DEPENDS - libc.include.llvm-libc-macros.math_function_macros -) - add_libc_test( issubnormal_test SUITE @@ -396,21 +366,6 @@ add_libc_test( libc.include.llvm-libc-macros.math_function_macros ) -add_libc_test( - issignaling_c_test - C_TEST - UNIT_TEST_ONLY - SUITE - libc_include_tests - SRCS - issignaling_test.c - COMPILE_OPTIONS - -Wall - -Werror - DEPENDS - libc.include.llvm-libc-macros.math_function_macros -) - add_libc_test( isinf_c_test C_TEST diff --git a/libc/test/include/IsSignalingTest.h b/libc/test/include/IsSignalingTest.h deleted file mode 100644 index c369cfe090ed3..0000000000000 --- a/libc/test/include/IsSignalingTest.h +++ /dev/null @@ -1,49 +0,0 @@ -//===-- Utility class to test the issignaling macro ------------*- C++ -*-===// -// -// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. -// See https://llvm.org/LICENSE.txt for license information. -// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception -// -//===----------------------------------------------------------------------===// - -#ifndef LLVM_LIBC_TEST_INCLUDE_MATH_ISSIGNALING_H -#define LLVM_LIBC_TEST_INCLUDE_MATH_ISSIGNALING_H - -#include "test/UnitTest/FPMatcher.h" -#include "test/UnitTest/Test.h" - -#include "include/llvm-libc-macros/math-function-macros.h" - -template -class IsSignalingTest : public LIBC_NAMESPACE::testing::Test { - DECLARE_SPECIAL_CONSTANTS(T) - -public: - typedef int (*IsSignalingFunc)(T); - - void testSpecialNumbers(IsSignalingFunc func) { - EXPECT_EQ(func(aNaN), 0); - EXPECT_EQ(func(neg_aNaN), 0); - EXPECT_EQ(func(sNaN), 1); - EXPECT_EQ(func(neg_sNaN), 1); - EXPECT_EQ(func(inf), 0); - EXPECT_EQ(func(neg_inf), 0); - EXPECT_EQ(func(min_normal), 0); - EXPECT_EQ(func(max_normal), 0); - EXPECT_EQ(func(neg_max_normal), 0); - EXPECT_EQ(func(min_denormal), 0); - EXPECT_EQ(func(neg_min_denormal), 0); - EXPECT_EQ(func(max_denormal), 0); - EXPECT_EQ(func(zero), 0); - EXPECT_EQ(func(neg_zero), 0); - } -}; - -#define LIST_ISSIGNALING_TESTS(T, func) \ - using LlvmLibcIsSignalingTest = IsSignalingTest; \ - TEST_F(LlvmLibcIsSignalingTest, SpecialNumbers) { \ - auto issignaling_func = [](T x) { return func(x); }; \ - testSpecialNumbers(issignaling_func); \ - } - -#endif // LLVM_LIBC_TEST_INCLUDE_MATH_ISSIGNALING_H diff --git a/libc/test/include/issignaling_test.c b/libc/test/include/issignaling_test.c deleted file mode 100644 index 2c080696404ae..0000000000000 --- a/libc/test/include/issignaling_test.c +++ /dev/null @@ -1,24 +0,0 @@ -//===-- Unittests for issignaling macro -----------------------------------===// -// -// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. -// See https://llvm.org/LICENSE.txt for license information. -// SPDSList-License-Identifier: Apache-2.0 WITH LLVM-exception -// -//===----------------------------------------------------------------------===// -#include "include/llvm-libc-macros/math-function-macros.h" - -#include - -// TODO: enable the test unconditionally when issignaling macro is fixed for -// older compiler -int main(void) { -#ifdef issignaling - assert(issignaling(__builtin_nans("")) == 1); - assert(issignaling(__builtin_nansf("")) == 1); - assert(issignaling(__builtin_nansl("")) == 1); - assert(issignaling(1.819f) == 0); - assert(issignaling(-1.726) == 0); - assert(issignaling(1.426L) == 0); -#endif - return 0; -} diff --git a/libc/test/include/issignaling_test.cpp b/libc/test/include/issignaling_test.cpp deleted file mode 100644 index ef007feb0a633..0000000000000 --- a/libc/test/include/issignaling_test.cpp +++ /dev/null @@ -1,18 +0,0 @@ -//===-- Unittest for issignaling[d] macro ---------------------------------===// -// -// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. -// See https://llvm.org/LICENSE.txt for license information. -// SPDSList-License-Identifier: Apache-2.0 WITH LLVM-exception -// -//===----------------------------------------------------------------------===// - -#include "IsSignalingTest.h" -#include "include/llvm-libc-macros/math-function-macros.h" - -// TODO: enable the test unconditionally when issignaling macro is fixed for -// older compiler -#ifdef issignaling -LIST_ISSIGNALING_TESTS(double, issignaling) -#else -int main() { return 0; } -#endif diff --git a/libc/test/include/issignalingf_test.cpp b/libc/test/include/issignalingf_test.cpp deleted file mode 100644 index 9b236f2bb84d7..0000000000000 --- a/libc/test/include/issignalingf_test.cpp +++ /dev/null @@ -1,18 +0,0 @@ -//===-- Unittest for issignaling[f] macro ---------------------------------===// -// -// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. -// See https://llvm.org/LICENSE.txt for license information. -// SPDSList-License-Identifier: Apache-2.0 WITH LLVM-exception -// -//===----------------------------------------------------------------------===// - -#include "IsSignalingTest.h" -#include "include/llvm-libc-macros/math-function-macros.h" - -// TODO: enable the test unconditionally when issignaling macro is fixed for -// older compiler -#ifdef issignaling -LIST_ISSIGNALING_TESTS(float, issignaling) -#else -int main() { return 0; } -#endif diff --git a/libc/test/include/issignalingl_test.cpp b/libc/test/include/issignalingl_test.cpp deleted file mode 100644 index 35482cb4b0202..0000000000000 --- a/libc/test/include/issignalingl_test.cpp +++ /dev/null @@ -1,18 +0,0 @@ -//===-- Unittest for issignaling[l] macro ---------------------------------===// -// -// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. -// See https://llvm.org/LICENSE.txt for license information. -// SPDSList-License-Identifier: Apache-2.0 WITH LLVM-exception -// -//===----------------------------------------------------------------------===// - -#include "IsSignalingTest.h" -#include "include/llvm-libc-macros/math-function-macros.h" - -// TODO: enable the test unconditionally when issignaling macro is fixed for -// older compiler -#ifdef issignaling -LIST_ISSIGNALING_TESTS(long double, issignaling) -#else -int main() { return 0; } -#endif