xref: /llvm-project/libc/fuzzing/__support/CMakeLists.txt (revision db6b7a84e6e4949569e756f46357d9f54ad16a03)
1add_libc_fuzzer(
2  uint_fuzz
3  SRCS
4    uint_fuzz.cpp
5  DEPENDS
6    libc.src.__support.big_int
7)
8
9add_libc_fuzzer(
10  hashtable_fuzz
11  SRCS
12    hashtable_fuzz.cpp
13  DEPENDS
14    libc.src.__support.HashTable.table
15)
16
17add_libc_fuzzer(
18  hashtable_opt_fuzz
19  SRCS
20    hashtable_fuzz.cpp
21  DEPENDS
22    libc.src.__support.HashTable.table
23  COMPILE_OPTIONS
24    -D__LIBC_EXPLICIT_SIMD_OPT
25)
26
27# TODO: FreeListHeap uses the _end symbol which conflicts with the _end symbol
28# defined by GPU start.cpp files so for now we exclude this fuzzer on GPU.
29if(LLVM_LIBC_FULL_BUILD AND NOT LIBC_TARGET_OS_IS_GPU)
30  add_libc_fuzzer(
31    freelist_heap_fuzz
32    SRCS
33      fake_heap.s
34      freelist_heap_fuzz.cpp
35    DEPENDS
36      libc.src.__support.freelist_heap
37  )
38  # TODO(#119995): Remove this once sccache on Windows no longer requires
39  # the use of -DCMAKE_MSVC_DEBUG_INFORMATION_FORMAT=Embedded.
40  get_fq_target_name(freelist_heap_fuzz freelist_heap_fuzz_target_name)
41  set_target_properties(
42    ${freelist_heap_fuzz_target_name}
43    PROPERTIES
44      MSVC_DEBUG_INFORMATION_FORMAT ""
45  )
46endif()
47