Revert "[lldb][test] Remove compiler version check and use regex" (#124101)
[llvm-project.git] / libc / test / src / fenv / CMakeLists.txt
blobd79b4a49a5e4f34f5df8233c69125f9d667ea274
1 add_custom_target(libc_fenv_unittests)
3 add_libc_unittest(
4   rounding_mode_test
5   SUITE
6     libc_fenv_unittests
7   SRCS
8     rounding_mode_test.cpp
9   DEPENDS
10     libc.src.fenv.fegetround
11     libc.src.fenv.fesetround
12   LINK_LIBRARIES
13     LibcFPTestHelpers
16 add_libc_unittest(
17   exception_status_test
18   SUITE
19     libc_fenv_unittests
20   SRCS
21     exception_status_test.cpp
22   DEPENDS
23     libc.src.fenv.feclearexcept
24     libc.src.fenv.feraiseexcept
25     libc.src.fenv.fesetexcept
26     libc.src.fenv.fetestexcept
27     libc.src.__support.FPUtil.fenv_impl
28   LINK_LIBRARIES
29     LibcFPTestHelpers
32 add_libc_unittest(
33   getenv_and_setenv_test
34   SUITE
35     libc_fenv_unittests
36   SRCS
37     getenv_and_setenv_test.cpp
38   DEPENDS
39     libc.src.fenv.fegetenv
40     libc.src.fenv.fegetround
41     libc.src.fenv.fesetenv
42     libc.src.fenv.fesetround
43     libc.src.__support.FPUtil.fenv_impl
44     libc.src.__support.macros.properties.os
45   LINK_LIBRARIES
46     LibcFPTestHelpers
49 add_libc_unittest(
50   exception_flags_test
51   SUITE
52     libc_fenv_unittests
53   SRCS
54     exception_flags_test.cpp
55   DEPENDS
56     libc.src.fenv.fegetexceptflag
57     libc.src.fenv.fesetexceptflag
58     libc.src.fenv.fetestexceptflag
59     libc.src.__support.FPUtil.fenv_impl
60   LINK_LIBRARIES
61     LibcFPTestHelpers
64 add_libc_unittest(
65   feupdateenv_test
66   SUITE
67     libc_fenv_unittests
68   SRCS
69     feupdateenv_test.cpp
70   DEPENDS
71     libc.include.signal
72     libc.src.fenv.feupdateenv
73     libc.src.__support.FPUtil.fenv_impl
74   LINK_LIBRARIES
75     LibcFPTestHelpers
78 add_libc_unittest(
79   feclearexcept_test
80   SUITE
81     libc_fenv_unittests
82   SRCS
83     feclearexcept_test.cpp
84   DEPENDS
85     libc.src.fenv.feclearexcept
86     libc.src.__support.FPUtil.fenv_impl
87   LINK_LIBRARIES
88     LibcFPTestHelpers
91 add_libc_unittest(
92   feenableexcept_test
93   SUITE
94     libc_fenv_unittests
95   SRCS
96     feenableexcept_test.cpp
97   DEPENDS
98     libc.src.fenv.fedisableexcept
99     libc.src.fenv.feenableexcept
100     libc.src.fenv.fegetexcept
101   LINK_LIBRARIES
102     LibcFPTestHelpers
105 if (NOT (LLVM_USE_SANITIZER OR (${LIBC_TARGET_OS} STREQUAL "windows")
106          OR (${LIBC_TARGET_OS} STREQUAL "darwin")))
107   # Sanitizers don't like SIGFPE. So, we will run the
108   # tests which raise SIGFPE only in non-sanitizer builds.
109   # The tests are also disabled for Windows and MacOS as they fail currently.
110   # TODO: Investigate and fix the windows failures and enable them for Windows
111   # and MacOS.
112   add_fp_unittest(
113     enabled_exceptions_test
114     UNIT_TEST_ONLY
115     SUITE
116       libc_fenv_unittests
117     SRCS
118       enabled_exceptions_test.cpp
119     DEPENDS
120       libc.include.signal
121       libc.src.fenv.feclearexcept
122       libc.src.fenv.feraiseexcept
123       libc.src.fenv.fetestexcept
124       libc.src.__support.FPUtil.fenv_impl
125     LINK_LIBRARIES
126       LibcFPExceptionHelpers
127       LibcFPTestHelpers
128   )
130   add_fp_unittest(
131     feholdexcept_test
132     UNIT_TEST_ONLY
133     SUITE
134       libc_fenv_unittests
135     SRCS
136       feholdexcept_test.cpp
137     DEPENDS
138       libc.hdr.fenv_macros
139       libc.src.fenv.feholdexcept
140       libc.src.__support.FPUtil.fenv_impl
141     LINK_LIBRARIES
142       LibcFPExceptionHelpers
143       LibcFPTestHelpers
144   )
145 endif()