1 @ RUN: %cxx %flags %link_flags %s -o %t.exe 2 @ RUN: %exec %t.exe 3 4 @ PURPOSE: Check that 0x90 is a valid value for ttype encoding. 5 6 @ NOTE: 7 @ 8 @ This file is generated from the following C++ source code and then change the 9 @ `TType Encoding` to 0x90. 10 @ 11 @ ``` 12 @ int main() { 13 @ try { 14 @ throw 5; 15 @ } catch (int i) { 16 @ if (i != 5) 17 @ abort(); 18 @ return 0; 19 @ } 20 @ } 21 @ ``` 22 23 .syntax unified 24 25 .text 26 .globl main 27 .p2align 2 28 .type main,%function 29 main: @ @main 30 .Lfunc_begin0: 31 .fnstart 32 @ BB#0: @ %entry 33 .save {r11, lr} 34 push {r11, lr} 35 .setfp r11, sp 36 mov r11, sp 37 mov r0, #4 38 bl __cxa_allocate_exception 39 mov r1, #5 40 str r1, [r0] 41 .Ltmp0: 42 ldr r1, .LCPI0_0 43 mov r2, #0 44 bl __cxa_throw 45 .Ltmp1: 46 47 @ BB#2: @ %lpad 48 .Ltmp2: 49 bl __cxa_begin_catch 50 ldr r0, [r0] 51 cmp r0, #5 52 bne .LBB0_4 53 @ BB#3: @ %if.end 54 bl __cxa_end_catch 55 mov r0, #0 56 pop {r11, lr} 57 bx lr 58 .LBB0_4: @ %if.then 59 bl abort 60 .p2align 2 61 @ BB#5: 62 .LCPI0_0: 63 .long _ZTIi 64 .Lfunc_end0: 65 66 .size main, .Lfunc_end0-main 67 .globl __gxx_personality_v0 68 .personality __gxx_personality_v0 69 .handlerdata 70 .p2align 2 71 GCC_except_table0: 72 .Lexception0: 73 .byte 255 @ @LPStart Encoding = omit 74 .byte 0x90 @ @TType Encoding = indirect | pcrel 75 .asciz "\257\200" @ @TType base offset 76 .byte 3 @ Call site Encoding = udata4 77 .byte 39 @ Call site table length 78 .long .Lfunc_begin0-.Lfunc_begin0 @ >> Call Site 1 << 79 .long .Ltmp0-.Lfunc_begin0 @ Call between .Lfunc_begin0 and .Ltmp0 80 .long 0 @ has no landing pad 81 .byte 0 @ On action: cleanup 82 .long .Ltmp0-.Lfunc_begin0 @ >> Call Site 2 << 83 .long .Ltmp1-.Ltmp0 @ Call between .Ltmp0 and .Ltmp1 84 .long .Ltmp2-.Lfunc_begin0 @ jumps to .Ltmp2 85 .byte 1 @ On action: 1 86 .long .Ltmp1-.Lfunc_begin0 @ >> Call Site 3 << 87 .long .Lfunc_end0-.Ltmp1 @ Call between .Ltmp1 and .Lfunc_end0 88 .long 0 @ has no landing pad 89 .byte 0 @ On action: cleanup 90 .byte 1 @ >> Action Record 1 << 91 @ Catch TypeInfo 1 92 .byte 0 @ No further actions 93 @ >> Catch TypeInfos << 94 .long _ZTIi(target2) @ TypeInfo 1 95 .p2align 2 96 .fnend 97