mirror of
https://github.com/swift-project/pilotclient.git
synced 2026-03-22 23:05:36 +08:00
Added support for using address sanitizer with clang-cl.
This commit is contained in:
@@ -186,6 +186,18 @@ msvc:contains(QMAKE_CXXFLAGS, /permissive-): QMAKE_CXXFLAGS *= /FIpermissivework
|
||||
################################
|
||||
|
||||
clang_cl {
|
||||
# Address Sanitizer
|
||||
# https://stackoverflow.com/a/48585886/1639256
|
||||
# http://lists.llvm.org/pipermail/cfe-dev/2016-April/048288.html
|
||||
contains(QMAKE_CXXFLAGS, -fsanitize=address) {
|
||||
SANITIZER_LIB_DIR = $$system(clang -print-resource-dir)\lib\windows
|
||||
equals(WORD_SIZE,32): SANITIZER_LIB_SUFFIX = i386.lib
|
||||
equals(WORD_SIZE,64): SANITIZER_LIB_SUFFIX = x86_64.lib
|
||||
LIBS += $$SANITIZER_LIB_DIR\clang_rt.asan_dynamic-$$SANITIZER_LIB_SUFFIX
|
||||
QMAKE_LFLAGS += -wholearchive:$$SANITIZER_LIB_DIR\clang_rt.asan_dynamic_runtime_thunk-$$SANITIZER_LIB_SUFFIX
|
||||
QMAKE_LFLAGS += -include:__asan_seh_interceptor
|
||||
}
|
||||
|
||||
# Suppress warnings in Qt headers
|
||||
QMAKE_RUN_CC = $(CC) -c $(CFLAGS) $(INCPATH:-I$$system_path($$[QT_HOST_PREFIX])=/imsvc $$system_path($$[QT_HOST_PREFIX])) -Fo$obj $src
|
||||
QMAKE_RUN_CC_IMP = $(CC) -c $(CFLAGS) $(INCPATH:-I$$system_path($$[QT_HOST_PREFIX])=/imsvc $$system_path($$[QT_HOST_PREFIX])) -Fo$@ $<
|
||||
|
||||
Reference in New Issue
Block a user