[cfe-commits] r159191 - in /cfe/trunk: lib/CodeGen/CGDeclCXX.cpp test/CodeGen/address-safety-attr.cpp
Kostya Serebryany
kcc at google.com
Tue Jun 26 01:56:33 PDT 2012
Author: kcc
Date: Tue Jun 26 03:56:33 2012
New Revision: 159191
URL: http://llvm.org/viewvc/llvm-project?rev=159191&view=rev
Log:
[asan] add missing asan instrumentation in generated global init functions
Modified:
cfe/trunk/lib/CodeGen/CGDeclCXX.cpp
cfe/trunk/test/CodeGen/address-safety-attr.cpp
Modified: cfe/trunk/lib/CodeGen/CGDeclCXX.cpp
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/CodeGen/CGDeclCXX.cpp?rev=159191&r1=159190&r2=159191&view=diff
==============================================================================
--- cfe/trunk/lib/CodeGen/CGDeclCXX.cpp (original)
+++ cfe/trunk/lib/CodeGen/CGDeclCXX.cpp Tue Jun 26 03:56:33 2012
@@ -228,6 +228,9 @@
if (!CGM.getLangOpts().Exceptions)
Fn->setDoesNotThrow();
+ if (CGM.getLangOpts().AddressSanitizer)
+ Fn->addFnAttr(llvm::Attribute::AddressSafety);
+
return Fn;
}
Modified: cfe/trunk/test/CodeGen/address-safety-attr.cpp
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/CodeGen/address-safety-attr.cpp?rev=159191&r1=159190&r2=159191&view=diff
==============================================================================
--- cfe/trunk/test/CodeGen/address-safety-attr.cpp (original)
+++ cfe/trunk/test/CodeGen/address-safety-attr.cpp Tue Jun 26 03:56:33 2012
@@ -33,3 +33,9 @@
int force_instance = TemplateAddressSafetyOk<42>()
+ TemplateNoAddressSafety<42>();
+
+// Check that __cxx_global_var_init* get the address_safety attribute.
+int global1 = 0;
+int global2 = *(int*)((char*)&global1+1);
+// CHECK-NOT: @__cxx_global_var_init{{.*}}address_safety
+// ASAN: @__cxx_global_var_init{{.*}}address_safety
More information about the cfe-commits
mailing list