1 add_custom_target(libc-support-tests)
3 if(NOT LIBC_TARGET_OS_IS_GPU)
11 libc.src.__support.CPP.array
12 libc.src.__support.CPP.bit
13 libc.src.__support.CPP.span
14 libc.src.__support.block
15 libc.src.string.memcpy
25 libc.src.__support.CPP.array
26 libc.src.__support.CPP.span
27 libc.src.__support.block
28 libc.src.__support.freelist
38 libc.src.__support.CPP.optional
39 libc.src.__support.block
40 libc.src.__support.freetrie
50 libc.src.__support.CPP.optional
51 libc.src.__support.block
52 libc.src.__support.freelist
53 libc.src.__support.freestore
54 libc.src.__support.freetrie
58 # TODO: FreeListHeap uses the _end symbol which conflicts with the _end symbol
59 # defined by GPU start.cpp files so for now we exclude this test on GPU.
60 if(LLVM_LIBC_FULL_BUILD AND NOT LIBC_TARGET_OS_IS_GPU)
67 freelist_heap_test.cpp
69 libc.src.__support.CPP.span
70 libc.src.__support.freelist_heap
71 libc.src.string.memcmp
72 libc.src.string.memcpy
83 libc.src.__support.blockstore
91 endian_internal_test.cpp
93 libc.src.__support.common
103 libc.src.__support.integer_literals
104 libc.src.__support.math_extras
105 libc.src.__support.uint128
109 high_precision_decimal_test
113 high_precision_decimal_test.cpp
115 libc.src.__support.high_precision_decimal
116 libc.src.__support.uint128
124 str_to_float_test.cpp
125 str_to_double_test.cpp
126 str_to_long_double_test.cpp
128 libc.src.__support.integer_literals
129 libc.src.__support.str_to_float
130 libc.src.__support.uint128
140 str_to_integer_test.cpp
142 libc.src.__support.integer_literals
143 libc.src.__support.str_to_integer
148 integer_to_string_test
152 integer_to_string_test.cpp
154 libc.src.__support.big_int
155 libc.src.__support.CPP.limits
156 libc.src.__support.CPP.string_view
157 libc.src.__support.integer_literals
158 libc.src.__support.integer_to_string
159 libc.src.__support.uint128
169 libc.src.__support.arg_list
170 libc.src.__support.macros.properties.os
173 # TODO: clang-cl generates calls into runtime library functions to
174 # handle 128-bit integer arithmetics and conversions which are not yet
175 # available on Windows. Re-enable 128-bit integer support on Windows once
176 # these functions are ready.
177 if(NOT LIBC_TARGET_ARCHITECTURE_IS_NVPTX AND NOT LIBC_TARGET_OS_IS_WINDOWS)
185 libc.src.__support.big_int
186 libc.src.__support.CPP.optional
187 libc.src.__support.macros.properties.types
192 integer_literals_test
196 integer_literals_test.cpp
198 libc.src.__support.CPP.optional
199 libc.src.__support.integer_literals
200 libc.src.__support.macros.properties.types
210 libc.src.__support.CPP.array
211 libc.src.__support.fixedvector
221 libc.src.__support.char_vector
231 libc.src.__support.hash
232 libc.src.__support.CPP.new
234 libc.src.stdlib.srand
235 libc.src.string.memset
239 # Aligned Allocation is not supported in hermetic builds.
249 libc.src.__support.memory_size
252 # FIXME: We shouldn't have regular executables created because we could be
253 # cross-compiling the tests and running through an emulator.
254 if(NOT LIBC_TARGET_OS_IS_GPU)
256 libc_str_to_float_comparison_test
257 str_to_float_comparison_test.cpp
260 target_link_libraries(libc_str_to_float_comparison_test
266 libc_system_str_to_float_comparison_test
267 str_to_float_comparison_test.cpp
270 set(float_test_file ${CMAKE_CURRENT_SOURCE_DIR}/str_to_float_comparison_data.txt)
272 add_custom_command(TARGET libc_str_to_float_comparison_test
274 COMMAND ${CMAKE_CROSSCOMPILING_EMULATOR} $<TARGET_FILE:libc_str_to_float_comparison_test> ${float_test_file}
275 DEPENDS ${float_test_file}
276 COMMENT "Test the strtof and strtod implementations against precomputed results."
280 add_subdirectory(CPP)
281 add_subdirectory(File)
282 add_subdirectory(RPC)
283 add_subdirectory(OSUtil)
284 add_subdirectory(FPUtil)
285 add_subdirectory(fixed_point)
286 add_subdirectory(HashTable)
287 add_subdirectory(time)
288 add_subdirectory(threads)