|
| 1 | +/// When -fwrapv (implied by -fno-strict-overflow) is enabled, |
| 2 | +/// -fsanitize=undefined does not expand to signed-integer-overflow. |
| 3 | +/// -fsanitize=signed-integer-overflow is unaffected by -fwrapv. |
| 4 | + |
| 5 | +// RUN: %clang -### --target=x86_64-linux -fwrapv -fsanitize=signed-integer-overflow %s 2>&1 | FileCheck %s |
| 6 | +// CHECK: -fsanitize=signed-integer-overflow |
| 7 | +// CHECK: -fsanitize-recover=signed-integer-overflow |
| 8 | + |
| 9 | +// RUN: %clang -### --target=x86_64-linux -fno-strict-overflow -fsanitize=undefined %s 2>&1 | FileCheck %s --check-prefix=EXCLUDE |
| 10 | +// RUN: %clang -### --target=x86_64-linux -fstrict-overflow -fwrapv -fsanitize=undefined %s 2>&1 | FileCheck %s --check-prefix=EXCLUDE |
| 11 | +// EXCLUDE: -fsanitize=alignment,array-bounds, |
| 12 | +// EXCLUDE-NOT: signed-integer-overflow, |
| 13 | +// EXCLUDE: -fsanitize-recover=alignment,array-bounds, |
| 14 | +// EXCLUDE-SAME: signed-integer-overflow |
| 15 | + |
| 16 | +// RUN: %clang -### --target=x86_64-linux -fwrapv -fsanitize=undefined -fsanitize=signed-integer-overflow %s 2>&1 | FileCheck %s --check-prefix=INCLUDE |
| 17 | +// RUN: %clang -### --target=x86_64-linux -fno-strict-overflow -fno-sanitize=signed-integer-overflow -fsanitize=undefined -fsanitize=signed-integer-overflow %s 2>&1 | FileCheck %s --check-prefix=INCLUDE |
| 18 | +// INCLUDE: -fsanitize=alignment,array-bounds, |
| 19 | +// INCLUDE-SAME: signed-integer-overflow |
| 20 | +// INCLUDE: -fsanitize-recover=alignment,array-bounds, |
| 21 | +// INCLUDE-SAME: signed-integer-overflow |
| 22 | + |
| 23 | +/// -fsanitize-trap=undefined expands to signed-integer-overflow regardless of -fwrapv. |
| 24 | +// RUN: %clang -### --target=x86_64-linux -fwrapv -fsanitize=undefined -fsanitize=signed-integer-overflow -fsanitize-trap=undefined %s 2>&1 | FileCheck %s --check-prefix=INCLUDE-TRAP |
| 25 | +// INCLUDE-TRAP: -fsanitize=alignment,array-bounds, |
| 26 | +// INCLUDE-TRAP-SAME: signed-integer-overflow |
| 27 | +// INCLUDE-TRAP: -fsanitize-trap=alignment,array-bounds, |
| 28 | +// INCLUDE-TRAP-SAME: signed-integer-overflow |
0 commit comments