]> granicus.if.org Git - clang/commit
The following patch adds __attribute__((no_address_safety_analysis)) which will allow...
authorKostya Serebryany <kcc@google.com>
Tue, 24 Jan 2012 19:25:38 +0000 (19:25 +0000)
committerKostya Serebryany <kcc@google.com>
Tue, 24 Jan 2012 19:25:38 +0000 (19:25 +0000)
commit71efba0bbafaefab14419fbd284efff5f7acade7
tree0e1a4b575a21aa22ff23d2e9974809ceaf1e97ca
parent5d84bb418405e1256020a66895d163756886b102
The following patch adds __attribute__((no_address_safety_analysis)) which will allow to disable
address safety analysis (such as e.g. AddressSanitizer or SAFECode) for a specific function.

When building with AddressSanitizer, add AddressSafety function attribute to every generated function
except for those that have __attribute__((no_address_safety_analysis)).

With this patch we will be able to
1. disable AddressSanitizer for a particular function
2. disable AddressSanitizer-hostile optimizations (such as some cases of load widening) when AddressSanitizer is on.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@148842 91177308-0d34-0410-b5e6-96231b3b80d8
docs/LanguageExtensions.html
include/clang/Basic/Attr.td
include/clang/Sema/AttributeList.h
lib/CodeGen/CodeGenModule.cpp
lib/Sema/AttributeList.cpp
lib/Sema/SemaDeclAttr.cpp
test/CodeGen/address-safety-attr.cpp [new file with mode: 0644]