|
1159 | 1159 | // * Test -fno-sanitize-top-hot * |
1160 | 1160 |
|
1161 | 1161 | // -fno-sanitize-top-hot=undefined=0.5 |
1162 | | -// RUN: %clang --target=x86_64-linux-gnu -fsanitize=undefined -fno-sanitize-top-hot=undefined=0.5 %s -### 2>&1 | FileCheck %s --check-prefix=CHECK-TOP-HOT1 |
| 1162 | +// RUN: %clang -Werror --target=x86_64-linux-gnu -fsanitize=undefined -fno-sanitize-top-hot=undefined=0.5 %s -### 2>&1 | FileCheck %s --check-prefix=CHECK-TOP-HOT1 |
1163 | 1163 | // CHECK-TOP-HOT1: "-fno-sanitize-top-hot={{((signed-integer-overflow|integer-divide-by-zero|shift-base|shift-exponent|unreachable|return|vla-bound|alignment|null|pointer-overflow|float-cast-overflow|array-bounds|enum|bool|builtin|returns-nonnull-attribute|nonnull-attribute|function|vptr)=0.5(0*),?){19}"}} |
1164 | 1164 |
|
1165 | 1165 | // No-op: no sanitizers are specified |
1166 | | -// RUN: %clang --target=x86_64-linux-gnu -fno-sanitize-top-hot=undefined=0.5 %s -### 2>&1 | FileCheck %s --check-prefix=CHECK-TOP-HOT2 |
| 1166 | +// RUN: %clang -Werror --target=x86_64-linux-gnu -fno-sanitize-top-hot=undefined=0.5 %s -### 2>&1 | FileCheck %s --check-prefix=CHECK-TOP-HOT2 |
1167 | 1167 | // CHECK-TOP-HOT2-NOT: "-fsanitize" |
1168 | 1168 | // CHECK-TOP-HOT2-NOT: "-fno-sanitize-top-hot" |
1169 | 1169 |
|
1170 | 1170 | // Enable undefined, then cancel out integer using a cutoff of 0.0 |
1171 | | -// RUN: %clang --target=x86_64-linux-gnu -fsanitize=undefined -fno-sanitize-top-hot=undefined=0.5,integer=0.0 %s -### 2>&1 | FileCheck %s --check-prefix=CHECK-TOP-HOT3 |
| 1171 | +// RUN: %clang -Werror --target=x86_64-linux-gnu -fsanitize=undefined -fno-sanitize-top-hot=undefined=0.5,integer=0.0 %s -### 2>&1 | FileCheck %s --check-prefix=CHECK-TOP-HOT3 |
1172 | 1172 | // CHECK-TOP-HOT3: "-fno-sanitize-top-hot={{((unreachable|return|vla-bound|alignment|null|pointer-overflow|float-cast-overflow|array-bounds|enum|bool|builtin|returns-nonnull-attribute|nonnull-attribute|function|vptr)=0.5(0*),?){15}"}} |
1173 | 1173 |
|
1174 | 1174 | // Enable undefined, then cancel out integer using a cutoff of 0.0, then re-enable signed-integer-overflow |
1175 | | -// RUN: %clang --target=x86_64-linux-gnu -fsanitize=undefined -fno-sanitize-top-hot=undefined=0.5,integer=0.0,signed-integer-overflow=0.7 %s -### 2>&1 | FileCheck %s --check-prefix=CHECK-TOP-HOT4 |
| 1175 | +// RUN: %clang -Werror --target=x86_64-linux-gnu -fsanitize=undefined -fno-sanitize-top-hot=undefined=0.5,integer=0.0,signed-integer-overflow=0.7 %s -### 2>&1 | FileCheck %s --check-prefix=CHECK-TOP-HOT4 |
1176 | 1176 | // CHECK-TOP-HOT4: "-fno-sanitize-top-hot={{((signed-integer-overflow|unreachable|return|vla-bound|alignment|null|pointer-overflow|float-cast-overflow|array-bounds|enum|bool|builtin|returns-nonnull-attribute|nonnull-attribute|function|vptr)=(0.5|0.49|0.7|0.69)([0-9]*),?){16}"}} |
1177 | 1177 |
|
1178 | 1178 | // Check that -fno-sanitize-top-hot=undefined=0.4 does not widen the set of -fsanitize=integer checks. |
1179 | | -// RUN: %clang --target=x86_64-linux-gnu -fsanitize=integer -fno-sanitize-top-hot=undefined=0.4 %s -### 2>&1 | FileCheck %s --check-prefix=CHECK-TOP-HOT5 |
| 1179 | +// RUN: %clang -Werror --target=x86_64-linux-gnu -fsanitize=integer -fno-sanitize-top-hot=undefined=0.4 %s -### 2>&1 | FileCheck %s --check-prefix=CHECK-TOP-HOT5 |
1180 | 1180 | // CHECK-TOP-HOT5: "-fno-sanitize-top-hot={{((integer-divide-by-zero|shift-base|shift-exponent|signed-integer-overflow)=(0.4|0.39)([0-9]*),?){4}"}} |
1181 | 1181 |
|
1182 | 1182 | // No-op: it's allowed for the user to specify a cutoff of 0.0, though the argument is not passed along by the driver. |
1183 | | -// RUN: %clang --target=x86_64-linux-gnu -fsanitize=undefined -fno-sanitize-top-hot=undefined=0.0 %s -### 2>&1 | FileCheck %s --check-prefix=CHECK-TOP-HOT6 |
| 1183 | +// RUN: %clang -Werror --target=x86_64-linux-gnu -fsanitize=undefined -fno-sanitize-top-hot=undefined=0.0 %s -### 2>&1 | FileCheck %s --check-prefix=CHECK-TOP-HOT6 |
1184 | 1184 | // CHECK-TOP-HOT6: "-fsanitize={{((signed-integer-overflow|integer-divide-by-zero|shift-base|shift-exponent|unreachable|return|vla-bound|alignment|null|pointer-overflow|float-cast-overflow|array-bounds|enum|bool|builtin|returns-nonnull-attribute|nonnull-attribute|function|vptr),?){19}"}} |
1185 | | -// CHECK-TOP-HOT6-NOT: unsupported argument |
1186 | 1185 | // CHECK-TOP-HOT6-NOT: "-fno-sanitize-top-hot" |
1187 | 1186 |
|
1188 | 1187 | // Invalid: bad sanitizer |
|
1206 | 1205 | // CHECK-TOP-HOT11: unsupported argument 'undefined=' to option '-fno-sanitize-top-hot=' |
1207 | 1206 |
|
1208 | 1207 | // No-op: -fno-sanitize-top= without parameters is unusual but valid |
1209 | | -// RUN: %clang --target=x86_64-linux-gnu -fno-sanitize-top-hot= %s -### 2>&1 | FileCheck %s --check-prefix=CHECK-TOP-HOT12 |
1210 | | -// CHECK-TOP-HOT12-NOT: unsupported argument |
| 1208 | +// RUN: %clang -Werror --target=x86_64-linux-gnu -fno-sanitize-top-hot= %s -### 2>&1 | FileCheck %s --check-prefix=CHECK-TOP-HOT12 |
1211 | 1209 | // CHECK-TOP-HOT12-NOT: "-fno-sanitize-top-hot" |
0 commit comments