diff options
author | Alexey Samsonov <vonosmas@gmail.com> | 2015-01-12 22:39:12 +0000 |
---|---|---|
committer | Alexey Samsonov <vonosmas@gmail.com> | 2015-01-12 22:39:12 +0000 |
commit | 8845952b54a7574cedbbd0661e889cd4e2d5947b (patch) | |
tree | cac9ea08214180cb195bc54409842254053fa5f4 /clang/test/CodeGen/compound-assign-overflow.c | |
parent | d88ab87064d9b366393d58066f3bee8111f6cec4 (diff) | |
download | llvm-8845952b54a7574cedbbd0661e889cd4e2d5947b.zip llvm-8845952b54a7574cedbbd0661e889cd4e2d5947b.tar.gz llvm-8845952b54a7574cedbbd0661e889cd4e2d5947b.tar.bz2 |
Reimplement -fsanitize-recover family of flags.
Introduce the following -fsanitize-recover flags:
- -fsanitize-recover=<list>: Enable recovery for selected checks or
group of checks. It is forbidden to explicitly list unrecoverable
sanitizers here (that is, "address", "unreachable", "return").
- -fno-sanitize-recover=<list>: Disable recovery for selected checks or
group of checks.
- -f(no-)?sanitize-recover is now a synonym for
-f(no-)?sanitize-recover=undefined,integer and will soon be deprecated.
These flags are parsed left to right, and mask of "recoverable"
sanitizer is updated accordingly, much like what we do for -fsanitize= flags.
-fsanitize= and -fsanitize-recover= flag families are independent.
CodeGen change: If there is a single UBSan handler function, responsible
for implementing multiple checks, which have different recoverable setting,
then we emit two handler calls instead of one:
the first one for the set of "unrecoverable" checks, another one - for
set of "recoverable" checks. If all checks implemented by a handler have the
same recoverability setting, then the generated code will be the same.
llvm-svn: 225719
Diffstat (limited to 'clang/test/CodeGen/compound-assign-overflow.c')
-rw-r--r-- | clang/test/CodeGen/compound-assign-overflow.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/clang/test/CodeGen/compound-assign-overflow.c b/clang/test/CodeGen/compound-assign-overflow.c index 1533429..f126bb0 100644 --- a/clang/test/CodeGen/compound-assign-overflow.c +++ b/clang/test/CodeGen/compound-assign-overflow.c @@ -1,5 +1,5 @@ // Verify proper type emitted for compound assignments -// RUN: %clang_cc1 -ffreestanding -triple x86_64-apple-darwin10 -emit-llvm -o - %s -fsanitize=signed-integer-overflow,unsigned-integer-overflow | FileCheck %s +// RUN: %clang_cc1 -ffreestanding -triple x86_64-apple-darwin10 -emit-llvm -o - %s -fsanitize=signed-integer-overflow,unsigned-integer-overflow -fsanitize-recover=signed-integer-overflow,unsigned-integer-overflow | FileCheck %s #include <stdint.h> |