diff options
| author | Eric Fiselier <eric@efcs.ca> | 2014-10-16 23:21:59 +0000 |
|---|---|---|
| committer | Eric Fiselier <eric@efcs.ca> | 2014-10-16 23:21:59 +0000 |
| commit | 04c1b74cb8779f92dcbbc4cd69e39a102b286a24 (patch) | |
| tree | 91127a9dcd51f555a210bd6128ce94644b6d6910 | |
| parent | e2669ba6d48c584599521fef52573ba7e39168d1 (diff) | |
| download | bcm5719-llvm-04c1b74cb8779f92dcbbc4cd69e39a102b286a24.tar.gz bcm5719-llvm-04c1b74cb8779f92dcbbc4cd69e39a102b286a24.zip | |
[libcxx] Add support for LLVM_USE_SANITIZER=Undefined
LLVM_USE_SANITIZER=Undefined support was added to the LLVM CMake configuration.
Update libc++'s handling of LLVM_USE_SANITIZER to support this as well.
llvm-svn: 219987
| -rw-r--r-- | libcxx/CMakeLists.txt | 3 | ||||
| -rw-r--r-- | libcxx/test/lit.cfg | 5 |
2 files changed, 8 insertions, 0 deletions
diff --git a/libcxx/CMakeLists.txt b/libcxx/CMakeLists.txt index 12bbb502a73..3210757e506 100644 --- a/libcxx/CMakeLists.txt +++ b/libcxx/CMakeLists.txt @@ -304,6 +304,9 @@ if (LIBCXX_BUILT_STANDALONE) if (LLVM_USE_SANITIZER STREQUAL "MemoryWithOrigins") list(APPEND LIBCXX_CXX_FEATURE_FLAGS "-fsanitize-memory-track-origins") endif() + elseif (LLVM_USE_SANITIZER STREQUAL "Undefined") + list(APPEND LIBCXX_CXX_FEATURE_FLAGS + "-fsanitize=undefined -fno-sanitize=vptr,function -fno-sanitize-recover") else() message(WARNING "Unsupported value of LLVM_USE_SANITIZER: ${LLVM_USE_SANITIZER}") endif() diff --git a/libcxx/test/lit.cfg b/libcxx/test/lit.cfg index bed329fe06d..fbeb827597b 100644 --- a/libcxx/test/lit.cfg +++ b/libcxx/test/lit.cfg @@ -434,6 +434,11 @@ class Configuration(object): if san == 'MemoryWithOrigins': self.compile_flags += ['-fsanitize-memory-track-origins'] self.config.available_features.add('msan') + elif san == 'Undefined': + self.compile_flags += ['-fsanitize=undefined', + '-fno-sanitize=vptr,function', + '-fno-sanitize-recover'] + self.config.available_features.add('ubsan') else: self.lit_config.fatal('unsupported value for ' 'libcxx_use_san: {0}'.format(san)) |

