diff options
author | Kuba Mracek <mracek@apple.com> | 2017-04-21 17:39:50 +0000 |
---|---|---|
committer | Kuba Mracek <mracek@apple.com> | 2017-04-21 17:39:50 +0000 |
commit | 68f048198a62f9b762b27dd604fa151b419cb0c1 (patch) | |
tree | 6dea99dce75abd04d51a69ff253e599c16c07fbc /lib/Fuzzer | |
parent | 35e1962de3d231b81f3a2b2aed6ad9bc0490f78b (diff) |
[libFuzzer] Changing thread_local to __thread in libFuzzer
Old Apple compilers do not support thread_local keyword. This patch adds -Dthread_local=__thread when the compiler doesn't support thread_local.
Differential Revision: https://reviews.llvm.org/D32312
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@301007 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Fuzzer')
-rw-r--r-- | lib/Fuzzer/CMakeLists.txt | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/lib/Fuzzer/CMakeLists.txt b/lib/Fuzzer/CMakeLists.txt index 59cef04cdece..d44c12de3e16 100644 --- a/lib/Fuzzer/CMakeLists.txt +++ b/lib/Fuzzer/CMakeLists.txt @@ -1,3 +1,16 @@ +include(CheckCXXSourceCompiles) + +CHECK_CXX_SOURCE_COMPILES(" + static thread_local int blah; + int main() { + return 0; + } + " HAS_THREAD_LOCAL) + +if( NOT HAS_THREAD_LOCAL ) + set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Dthread_local=__thread") +endif() + set(LIBFUZZER_FLAGS_BASE "${CMAKE_CXX_FLAGS}") # Disable the coverage and sanitizer instrumentation for the fuzzer itself. set(CMAKE_CXX_FLAGS "${LIBFUZZER_FLAGS_BASE} -fno-sanitize-coverage=trace-pc-guard,edge,trace-cmp,indirect-calls,8bit-counters -Werror") |