We need to build all the tests with -O0, otherwise optimizations may merge some
basic blocks and the tests will fail.
In this diff, I simplify the cmake implementation and I remove the flags for
Windows too (/O[123s]).
Differential Revision: https://reviews.llvm.org/D28632
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@292737
91177308-0d34-0410-b5e6-
96231b3b80d8
LIBFUZZER_FLAGS_BASE
)
foreach (VARNAME ${variables_to_filter})
- string(REPLACE " " ";" BUILD_FLAGS_AS_LIST "${${VARNAME}}")
- set(new_flags "")
- foreach (flag ${BUILD_FLAGS_AS_LIST})
- # NOTE: Use of XX here is to avoid a CMake warning due to CMP0054
- if (NOT ("XX${flag}" MATCHES "XX-O[0123s]"))
- set(new_flags "${new_flags} ${flag}")
- else()
- set(new_flags "${new_flags} -O0")
- endif()
- endforeach()
- set(${VARNAME} "${new_flags}")
+ string(REGEX REPLACE "([-/]O)[123s]" "\\10" ${VARNAME} "${${VARNAME}}")
endforeach()
# Enable the coverage instrumentation (it is disabled for the Fuzzer lib).