[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