From d5576b1cb8422e38716c99aab34622b5dc23437c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Peter=20K=C3=BCmmel?= Date: Tue, 30 Sep 2014 09:50:22 +0200 Subject: Add support for gcc/clang's sanitize features GCC and Clang support compiler intrinsic error detections tools: address, memory, thread, undefined Let users conveniently enable it in qmake, for instance with CONFIG += sanitizer sanitize_address Also add a -sanitize [...] option to configure to use it by default for both the Qt libraries, and user applications. [ChangeLog][configure] Added support for GCC/Clang -fsanitize= options Change-Id: Ie5418abcdf41842566df510d7707e41739e66f87 Reviewed-by: Oswald Buddenhagen --- mkspecs/features/sanitizer.prf | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) create mode 100644 mkspecs/features/sanitizer.prf (limited to 'mkspecs/features') diff --git a/mkspecs/features/sanitizer.prf b/mkspecs/features/sanitizer.prf new file mode 100644 index 0000000000..9e7ff0218a --- /dev/null +++ b/mkspecs/features/sanitizer.prf @@ -0,0 +1,30 @@ +# Sanitizer flags + + +sanitize_address { + QMAKE_CFLAGS += $$QMAKE_SANITIZE_ADDRESS_CFLAGS + QMAKE_CXXFLAGS += $$QMAKE_SANITIZE_ADDRESS_CXXFLAGS + QMAKE_LFLAGS += $$QMAKE_SANITIZE_ADDRESS_LFLAGS +} + +sanitize_memory { + QMAKE_CFLAGS += $$QMAKE_SANITIZE_MEMORY_CFLAGS + QMAKE_CXXFLAGS += $$QMAKE_SANITIZE_MEMORY_CXXFLAGS + QMAKE_LFLAGS += $$QMAKE_SANITIZE_MEMORY_LFLAGS +} + +sanitize_thread { + QMAKE_CFLAGS += $$QMAKE_SANITIZE_THREAD_CFLAGS + QMAKE_CXXFLAGS += $$QMAKE_SANITIZE_THREAD_CXXFLAGS + QMAKE_LFLAGS += $$QMAKE_SANITIZE_THREAD_LFLAGS +} + +sanitize_undefined { + QMAKE_CFLAGS += $$QMAKE_SANITIZE_UNDEFINED_CFLAGS + QMAKE_CXXFLAGS += $$QMAKE_SANITIZE_UNDEFINED_CXXFLAGS + QMAKE_LFLAGS += $$QMAKE_SANITIZE_UNDEFINED_LFLAGS +} + +QMAKE_CFLAGS += $$QMAKE_COMMON_SANITIZE_CFLAGS +QMAKE_CXXFLAGS += $$QMAKE_COMMON_SANITIZE_CXXFLAGS + -- cgit v1.2.3