diff options
author | Kostya Serebryany <kcc@google.com> | 2013-02-26 06:58:09 +0000 |
---|---|---|
committer | Kostya Serebryany <kcc@google.com> | 2013-02-26 06:58:09 +0000 |
commit | 8eec41fc778e99d42172a7f6de76faa43a6d8847 (patch) | |
tree | a6b89a9fb83eab1457104a996ea7798c9068ec10 /docs/LangRef.rst | |
parent | ce522ee0a27062390f13e7ccb53fcff4fc36c473 (diff) | |
download | external_llvm-8eec41fc778e99d42172a7f6de76faa43a6d8847.zip external_llvm-8eec41fc778e99d42172a7f6de76faa43a6d8847.tar.gz external_llvm-8eec41fc778e99d42172a7f6de76faa43a6d8847.tar.bz2 |
Unify clang/llvm attributes for asan/tsan/msan (LLVM part)
These are two related changes (one in llvm, one in clang).
LLVM:
- rename address_safety => sanitize_address (the enum value is the same, so we preserve binary compatibility with old bitcode)
- rename thread_safety => sanitize_thread
- rename no_uninitialized_checks -> sanitize_memory
CLANG:
- add __attribute__((no_sanitize_address)) as a synonym for __attribute__((no_address_safety_analysis))
- add __attribute__((no_sanitize_thread))
- add __attribute__((no_sanitize_memory))
for S in address thread memory
If -fsanitize=S is present and __attribute__((no_sanitize_S)) is not
set llvm attribute sanitize_S
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@176075 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'docs/LangRef.rst')
-rw-r--r-- | docs/LangRef.rst | 18 |
1 files changed, 9 insertions, 9 deletions
diff --git a/docs/LangRef.rst b/docs/LangRef.rst index 84680df..c08cee1 100644 --- a/docs/LangRef.rst +++ b/docs/LangRef.rst @@ -793,9 +793,6 @@ example: define void @f() alwaysinline optsize { ... } define void @f() optsize { ... } -``address_safety`` - This attribute indicates that the address safety analysis is enabled - for this function. ``alignstack(<n>)`` This attribute indicates that, when emitting the prologue and epilogue, the backend should forcibly align the stack pointer. @@ -873,6 +870,15 @@ example: ``setjmp`` is an example of such a function. The compiler disables some optimizations (like tail calls) in the caller of these functions. +``sanitize_address`` + This attribute indicates that AddressSanitizer checks + (dynamic address safety analysis) are enabled for this function. +``sanitize_memory`` + This attribute indicates that MemorySanitizer checks (dynamic detection + of accesses to uninitialized memory) are enabled for this function. +``sanitize_thread`` + This attribute indicates that ThreadSanitizer checks + (dynamic thread safety analysis) are enabled for this function. ``ssp`` This attribute indicates that the function should emit a stack smashing protector. It is in the form of a "canary" --- a random value @@ -914,12 +920,6 @@ example: If a function that has an ``sspstrong`` attribute is inlined into a function that doesn't have an ``sspstrong`` attribute, then the resulting function will have an ``sspstrong`` attribute. -``thread_safety`` - This attribute indicates that the thread safety analysis is enabled - for this function. -``uninitialized_checks`` - This attribute indicates that the checks for uses of uninitialized - memory are enabled. ``uwtable`` This attribute indicates that the ABI being targeted requires that an unwind table entry be produce for this function even if we can |