Skip to content

Commit a37807a

Browse files
Revert "[CGObjC] Add run line for release mode in test arc-exceptions-seh.mm (NFC)"
This reverts commit 01023bf. The extended test now triggers undefined behavior: ``` /b/sanitizer-aarch64-linux-bootstrap-ubsan/build/llvm-project/llvm/lib/Transforms/ObjCARC/ObjCARCOpts.cpp:577:41: runtime error: load of value 180, which is not a valid value for type 'bool' #0 0xaaaae3333a30 in hasCFGChanged /b/sanitizer-aarch64-linux-bootstrap-ubsan/build/llvm-project/llvm/lib/Transforms/ObjCARC/ObjCARCOpts.cpp:577:41 #1 0xaaaae3333a30 in llvm::ObjCARCOptPass::run(llvm::Function&, llvm::AnalysisManager<llvm::Function>&) /b/sanitizer-aarch64-linux-bootstrap-ubsan/build/llvm-project/llvm/lib/Transforms/ObjCARC/ObjCARCOpts.cpp:2494:26 ... ```
1 parent 9015e41 commit a37807a

File tree

1 file changed

+8
-13
lines changed

1 file changed

+8
-13
lines changed

clang/test/CodeGenObjCXX/arc-exceptions-seh.mm

Lines changed: 8 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,4 @@
1-
// RUN: %clang_cc1 -triple x86_64-pc-windows-msvc -emit-llvm -fobjc-arc -fexceptions -fobjc-exceptions -fobjc-arc-exceptions -fobjc-runtime=gnustep-2.0 -o - %s | FileCheck %s --check-prefixes=CHECK,CHECK-O0
2-
// RUN: %clang_cc1 -O2 -triple x86_64-pc-windows-msvc -emit-llvm -fobjc-arc -fexceptions -fobjc-exceptions -fobjc-arc-exceptions -fobjc-runtime=gnustep-2.0 -mllvm -enable-objc-arc-opts=false -o - %s | FileCheck %s --check-prefixes=CHECK,CHECK-O2
1+
// RUN: %clang_cc1 -triple x86_64-pc-windows-msvc -emit-llvm -fobjc-arc -fexceptions -fobjc-exceptions -fobjc-arc-exceptions -fobjc-runtime=gnustep-2.0 -o - %s | FileCheck %s
32

43
// WinEH requires funclet tokens on nounwind intrinsics if they can lower to
54
// regular function calls in the course of IR transformations.
@@ -41,29 +40,25 @@ void try_catch_with_objc_intrinsic() {
4140
// CHECK: [ "funclet"(token [[CATCHPAD]]) ]
4241
// CHECK: unwind label %[[CLEANUP2]]
4342
// CHECK: call
44-
// CHECK-O0: @llvm.objc.storeStrong
45-
// CHECK-O2: @llvm.objc.release
43+
// CHECK: @llvm.objc.storeStrong
4644
// CHECK: [ "funclet"(token [[CATCHPAD]]) ]
47-
// CHECK-O0: catchret from [[CATCHPAD]] to label %catchret.dest
48-
// CHECK-O2: catchret from [[CATCHPAD]] to label %eh.cont
45+
// CHECK: catchret from [[CATCHPAD]] to label %catchret.dest
4946
//
50-
// In debug mode, this block exists and it's empty:
51-
// CHECK-O0: catchret.dest:
52-
// CHECK-O0-NEXT: br label %eh.cont
47+
// This block exists and it's empty:
48+
// CHECK: catchret.dest:
49+
// CHECK-NEXT: br label %eh.cont
5350
//
5451
// CHECK: [[CLEANUP2]]:
5552
// CHECK-NEXT: [[CLEANUPPAD2:%[0-9]+]] = cleanuppad within [[CATCHPAD]]
5653
// CHECK: call
57-
// CHECK-O0: @llvm.objc.storeStrong
58-
// CHECK-O2: @llvm.objc.release
54+
// CHECK: @llvm.objc.storeStrong
5955
// CHECK: [ "funclet"(token [[CLEANUPPAD2]]) ]
6056
// CHECK: cleanupret from [[CLEANUPPAD2]]
6157
// CHECK: unwind label %[[CLEANUP1]]
6258
//
6359
// CHECK: [[CLEANUP1]]:
6460
// CHECK-NEXT: [[CLEANUPPAD1:%[0-9]+]] = cleanuppad within none
6561
// CHECK: call
66-
// CHECK-O0: @llvm.objc.storeStrong
67-
// CHECK-O2: @llvm.objc.release
62+
// CHECK: @llvm.objc.storeStrong
6863
// CHECK: [ "funclet"(token [[CLEANUPPAD1]]) ]
6964
// CHECK: cleanupret from [[CLEANUPPAD1]] unwind to caller

0 commit comments

Comments
 (0)