forked from OSchip/llvm-project
[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
This commit is contained in:
parent
e2669ba6d4
commit
04c1b74cb8
|
@ -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()
|
||||
|
|
|
@ -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))
|
||||
|
|
Loading…
Reference in New Issue