mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2024-12-15 20:29:48 +00:00
Add a test showing the problem in r228939.
If an EH table is printed in between the function and the jump table we would fail to switch back to the text section to print the jump table. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@229580 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
15aa8bae80
commit
54b2025420
@ -41,6 +41,45 @@ bb5:
|
||||
; LINUX-SECTIONS-NEXT: .cfi_endproc
|
||||
; LINUX-SECTIONS-NEXT: .section .rodata.F2,"a",@progbits
|
||||
|
||||
declare void @G()
|
||||
|
||||
define void @F3(i32 %y) {
|
||||
bb0:
|
||||
invoke void @G()
|
||||
to label %bb2 unwind label %bb1
|
||||
bb1:
|
||||
landingpad { i8*, i32 } personality i8* bitcast (void ()* @G to i8*)
|
||||
catch i8* null
|
||||
br label %bb2
|
||||
bb2:
|
||||
|
||||
switch i32 %y, label %bb7 [
|
||||
i32 1, label %bb3
|
||||
i32 2, label %bb4
|
||||
i32 3, label %bb5
|
||||
i32 4, label %bb6
|
||||
]
|
||||
bb3:
|
||||
ret void
|
||||
bb4:
|
||||
ret void
|
||||
bb5:
|
||||
ret void
|
||||
bb6:
|
||||
ret void
|
||||
bb7:
|
||||
ret void
|
||||
}
|
||||
|
||||
; DARWIN64: _F3:
|
||||
; DARWIN64: .cfi_endproc
|
||||
; DARWIN64-NEXT: Leh_func_end
|
||||
; DARWIN64-NEXT: .section __TEXT,__gcc_except_tab
|
||||
; DARWIN64-NOT: .section
|
||||
; DARWIN64: .section __TEXT,__text,regular,pure_instructions
|
||||
; DARWIN64-NOT: .section
|
||||
; DARWIN64: LJTI{{.*}}:
|
||||
|
||||
; int G1;
|
||||
@G1 = common global i32 0
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user