summaryrefslogtreecommitdiffstats
path: root/docs
diff options
context:
space:
mode:
authorVlad Tsyrklevich <vlad@tsyrklevich.net>2019-01-15 03:38:02 +0000
committerVlad Tsyrklevich <vlad@tsyrklevich.net>2019-01-15 03:38:02 +0000
commit9b753d5619c5b2be952e0b9b7ab4bb785d4717a3 (patch)
treed09a8063b3e947f66a9c1ae6992df0036c43d43d /docs
parentced54e93c977f8b736f7cbb0a18e6b207385a251 (diff)
Revert alignment assumptions changes
Revert r351104-6, r351109, r351110, r351119, r351134, and r351153. These changes fail on the sanitizer bots. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@351159 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'docs')
-rw-r--r--docs/ReleaseNotes.rst43
-rw-r--r--docs/UndefinedBehaviorSanitizer.rst2
2 files changed, 1 insertions, 44 deletions
diff --git a/docs/ReleaseNotes.rst b/docs/ReleaseNotes.rst
index b6a405dbc7..64991343d9 100644
--- a/docs/ReleaseNotes.rst
+++ b/docs/ReleaseNotes.rst
@@ -321,49 +321,6 @@ Undefined Behavior Sanitizer (UBSan)
* The Implicit Conversion Sanitizer (``-fsanitize=implicit-conversion``) has
learned to sanitize compound assignment operators.
-* ``alignment`` check has learned to sanitize the assume_aligned-like attributes:
-
- .. code-block:: c++
-
- typedef char **__attribute__((align_value(1024))) aligned_char;
- struct ac_struct {
- aligned_char a;
- };
- char **load_from_ac_struct(struct ac_struct *x) {
- return x->a; // <- check that loaded 'a' is aligned
- }
-
- char **passthrough(__attribute__((align_value(1024))) char **x) {
- return x; // <- check the pointer passed as function argument
- }
-
- char **__attribute__((alloc_align(2)))
- alloc_align(int size, unsigned long alignment);
-
- char **caller(int size) {
- return alloc_align(size, 1024); // <- check returned pointer
- }
-
- char **__attribute__((assume_aligned(1024))) get_ptr();
-
- char **caller2() {
- return get_ptr(); // <- check returned pointer
- }
-
- void *caller3(char **x) {
- return __builtin_assume_aligned(x, 1024); // <- check returned pointer
- }
-
- void *caller4(char **x, unsigned long offset) {
- return __builtin_assume_aligned(x, 1024, offset); // <- check returned pointer accounting for the offest
- }
-
- void process(char *data, int width) {
- #pragma omp for simd aligned(data : 1024) // <- aligned clause will be checked.
- for (int x = 0; x < width; x++)
- data[x] *= data[x];
- }
-
Core Analysis Improvements
==========================
diff --git a/docs/UndefinedBehaviorSanitizer.rst b/docs/UndefinedBehaviorSanitizer.rst
index 3700d4962d..ddffee85c9 100644
--- a/docs/UndefinedBehaviorSanitizer.rst
+++ b/docs/UndefinedBehaviorSanitizer.rst
@@ -72,7 +72,7 @@ Available checks
Available checks are:
- ``-fsanitize=alignment``: Use of a misaligned pointer or creation
- of a misaligned reference. Also sanitizes assume_aligned-like attributes.
+ of a misaligned reference.
- ``-fsanitize=bool``: Load of a ``bool`` value which is neither
``true`` nor ``false``.
- ``-fsanitize=builtin``: Passing invalid values to compiler builtins.