[llvm-commits] [compiler-rt] r147297 - in /compiler-rt/trunk/lib/asan: Makefile.old asan_interface.h asan_internal.h tests/asan_test.cc
Kostya Serebryany
kcc at google.com
Tue Dec 27 13:57:12 PST 2011
Author: kcc
Date: Tue Dec 27 15:57:12 2011
New Revision: 147297
URL: http://llvm.org/viewvc/llvm-project?rev=147297&view=rev
Log:
[asan] rely on __has_feature(address_sanitizer) instead of the ADDRESS_SANITIZER macro
Modified:
compiler-rt/trunk/lib/asan/Makefile.old
compiler-rt/trunk/lib/asan/asan_interface.h
compiler-rt/trunk/lib/asan/asan_internal.h
compiler-rt/trunk/lib/asan/tests/asan_test.cc
Modified: compiler-rt/trunk/lib/asan/Makefile.old
URL: http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/lib/asan/Makefile.old?rev=147297&r1=147296&r2=147297&view=diff
==============================================================================
--- compiler-rt/trunk/lib/asan/Makefile.old (original)
+++ compiler-rt/trunk/lib/asan/Makefile.old Tue Dec 27 15:57:12 2011
@@ -137,7 +137,6 @@
CLANG_ASAN_CXX=$(CLANG_CXX) \
-faddress-sanitizer \
- -DADDRESS_SANITIZER=1 \
$(BLACKLIST) \
-mllvm -asan-stack=$(ASAN_STACK) \
-mllvm -asan-globals=$(ASAN_GLOBALS) \
@@ -152,7 +151,6 @@
GCC_ASAN_PATH=SET_FROM_COMMAND_LINE
GCC_ASAN_CXX=$(GCC_ASAN_PATH)/g++ \
-faddress-sanitizer \
- -DADDRESS_SANITIZER=1 \
$(COMMON_ASAN_DEFINES)
GCC_ASAN_LD=$(GCC_ASAN_PATH)/g++ -ldl -lpthread
Modified: compiler-rt/trunk/lib/asan/asan_interface.h
URL: http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/lib/asan/asan_interface.h?rev=147297&r1=147296&r2=147297&view=diff
==============================================================================
--- compiler-rt/trunk/lib/asan/asan_interface.h (original)
+++ compiler-rt/trunk/lib/asan/asan_interface.h Tue Dec 27 15:57:12 2011
@@ -75,7 +75,7 @@
void __asan_unpoison_memory_region(void const volatile *addr, size_t size);
// User code should use macro instead of functions.
-#ifdef ADDRESS_SANITIZER
+#if defined(__has_feature) && __has_feature(address_sanitizer)
#define ASAN_POISON_MEMORY_REGION(addr, size) \
__asan_poison_memory_region((addr), (size))
#define ASAN_UNPOISON_MEMORY_REGION(addr, size) \
Modified: compiler-rt/trunk/lib/asan/asan_internal.h
URL: http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/lib/asan/asan_internal.h?rev=147297&r1=147296&r2=147297&view=diff
==============================================================================
--- compiler-rt/trunk/lib/asan/asan_internal.h (original)
+++ compiler-rt/trunk/lib/asan/asan_internal.h Tue Dec 27 15:57:12 2011
@@ -36,7 +36,7 @@
#include <sys/atomics.h>
#endif
-#ifdef ADDRESS_SANITIZER
+#if defined(__has_feature) && __has_feature(address_sanitizer)
# error "The AddressSanitizer run-time should not be"
" instrumented by AddressSanitizer"
#endif
Modified: compiler-rt/trunk/lib/asan/tests/asan_test.cc
URL: http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/lib/asan/tests/asan_test.cc?rev=147297&r1=147296&r2=147297&view=diff
==============================================================================
--- compiler-rt/trunk/lib/asan/tests/asan_test.cc (original)
+++ compiler-rt/trunk/lib/asan/tests/asan_test.cc Tue Dec 27 15:57:12 2011
@@ -219,8 +219,13 @@
asan_write((T*)(p + off));
}
-TEST(AddressSanitizer, ADDRESS_SANITIZER_MacroTest) {
- EXPECT_EQ(1, ADDRESS_SANITIZER);
+TEST(AddressSanitizer, HasFeatureAddressSanitizerTest) {
+#if defined(__has_feature) && __has_feature(address_sanitizer)
+ bool asan = 1;
+#else
+ bool asan = 0;
+#endif
+ EXPECT_EQ(true, asan);
}
TEST(AddressSanitizer, SimpleDeathTest) {
More information about the llvm-commits
mailing list