aboutsummaryrefslogtreecommitdiffstats
path: root/docs/LangRef.rst
diff options
context:
space:
mode:
authorKostya Serebryany <kcc@google.com>2013-02-26 06:58:09 +0000
committerKostya Serebryany <kcc@google.com>2013-02-26 06:58:09 +0000
commit8eec41fc778e99d42172a7f6de76faa43a6d8847 (patch)
treea6b89a9fb83eab1457104a996ea7798c9068ec10 /docs/LangRef.rst
parentce522ee0a27062390f13e7ccb53fcff4fc36c473 (diff)
downloadexternal_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.rst18
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