diff options
author | Vlad Tsyrklevich <vlad@tsyrklevich.net> | 2019-01-15 03:38:02 +0000 |
---|---|---|
committer | Vlad Tsyrklevich <vlad@tsyrklevich.net> | 2019-01-15 03:38:02 +0000 |
commit | 9b753d5619c5b2be952e0b9b7ab4bb785d4717a3 (patch) | |
tree | d09a8063b3e947f66a9c1ae6992df0036c43d43d /docs | |
parent | ced54e93c977f8b736f7cbb0a18e6b207385a251 (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.rst | 43 | ||||
-rw-r--r-- | docs/UndefinedBehaviorSanitizer.rst | 2 |
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. |