1 .text 2 .file "infer_no_exits.cpp" 3 .globl _Z3fooi # -- Begin function _Z3fooi 4 .p2align 4, 0x90 5 .type _Z3fooi,@function 6_Z3fooi: # @_Z3fooi 7.Lfunc_begin0: 8 .cfi_startproc 9 .cfi_personality 155, DW.ref.__gxx_personality_v0 10 .cfi_lsda 27, .Lexception0 11# %bb.0: # %entry 12 pushq %rbp 13 .cfi_def_cfa_offset 16 14 .cfi_offset %rbp, -16 15 movq %rsp, %rbp 16 .cfi_def_cfa_register %rbp 17 subq $32, %rsp 18 movl %edi, -4(%rbp) 19 cmpl $0, -4(%rbp) 20 jne .LBB0_4 21# %bb.1: # %if.then 22 movl $16, %edi 23 callq __cxa_allocate_exception@PLT 24 movq %rax, %rdi 25 movq %rdi, %rax 26 movq %rax, -32(%rbp) # 8-byte Spill 27.Ltmp0: 28 leaq .L.str(%rip), %rsi 29 callq _ZNSt12out_of_rangeC1EPKc@PLT 30.Ltmp1: 31 jmp .LBB0_2 32.LBB0_2: # %invoke.cont 33 movq -32(%rbp), %rdi # 8-byte Reload 34 movq _ZTISt12out_of_range@GOTPCREL(%rip), %rsi 35 movq _ZNSt12out_of_rangeD1Ev@GOTPCREL(%rip), %rdx 36 callq __cxa_throw@PLT 37.LBB0_3: # %lpad 38.Ltmp2: 39 movq -32(%rbp), %rdi # 8-byte Reload 40 movq %rax, %rcx 41 movl %edx, %eax 42 movq %rcx, -16(%rbp) 43 movl %eax, -20(%rbp) 44 callq __cxa_free_exception@PLT 45 jmp .LBB0_5 46.LBB0_4: # %if.end 47 xorl %eax, %eax 48 addq $32, %rsp 49 popq %rbp 50 .cfi_def_cfa %rsp, 8 51 retq 52.LBB0_5: # %eh.resume 53 .cfi_def_cfa %rbp, 16 54 movq -16(%rbp), %rdi 55 callq _Unwind_Resume@PLT 56.Lfunc_end0: 57 .size _Z3fooi, .Lfunc_end0-_Z3fooi 58 .cfi_endproc 59 .section .gcc_except_table,"a",@progbits 60 .p2align 2, 0x0 61GCC_except_table0: 62.Lexception0: 63 .byte 255 # @LPStart Encoding = omit 64 .byte 255 # @TType Encoding = omit 65 .byte 1 # Call site Encoding = uleb128 66 .uleb128 .Lcst_end0-.Lcst_begin0 67.Lcst_begin0: 68 .uleb128 .Lfunc_begin0-.Lfunc_begin0 # >> Call Site 1 << 69 .uleb128 .Ltmp0-.Lfunc_begin0 # Call between .Lfunc_begin0 and .Ltmp0 70 .byte 0 # has no landing pad 71 .byte 0 # On action: cleanup 72 .uleb128 .Ltmp0-.Lfunc_begin0 # >> Call Site 2 << 73 .uleb128 .Ltmp1-.Ltmp0 # Call between .Ltmp0 and .Ltmp1 74 .uleb128 .Ltmp2-.Lfunc_begin0 # jumps to .Ltmp2 75 .byte 0 # On action: cleanup 76 .uleb128 .Ltmp1-.Lfunc_begin0 # >> Call Site 3 << 77 .uleb128 .Lfunc_end0-.Ltmp1 # Call between .Ltmp1 and .Lfunc_end0 78 .byte 0 # has no landing pad 79 .byte 0 # On action: cleanup 80.Lcst_end0: 81 .p2align 2, 0x0 82 # -- End function 83 .text 84 .globl main # -- Begin function main 85 .p2align 4, 0x90 86 .type main,@function 87main: # @main 88.Lfunc_begin1: 89 .cfi_startproc 90 .cfi_personality 155, DW.ref.__gxx_personality_v0 91 .cfi_lsda 27, .Lexception1 92# %bb.0: # %entry 93 pushq %rbp 94 .cfi_def_cfa_offset 16 95 .cfi_offset %rbp, -16 96 movq %rsp, %rbp 97 .cfi_def_cfa_register %rbp 98 subq $32, %rsp 99 movl $0, -4(%rbp) 100 jmp .Ltmp3 101.LBB1_2: # %lpad 102 movq %rax, %rcx 103 movl %edx, %eax 104 movq %rcx, -16(%rbp) 105 movl %eax, -20(%rbp) 106.Lcatch: 107# %bb.3: # %catch 108 movq -16(%rbp), %rdi 109 callq __cxa_begin_catch@PLT 110 callq _ZSt9terminatev@PLT 111.Ltmp3: 112 xorl %edi, %edi 113 callq _Z3fooi 114 xorl %eax, %eax 115 addq $32, %rsp 116 popq %rbp 117 .cfi_def_cfa %rsp, 8 118 retq 119.Lgarbage: 120 121.Lfunc_end1: 122 .size main, .Lfunc_end1-main 123 .cfi_endproc 124 .section .gcc_except_table,"a",@progbits 125 .p2align 2, 0x0 126GCC_except_table1: 127.Lexception1: 128 .byte 255 # @LPStart Encoding = omit 129 .byte 155 # @TType Encoding = indirect pcrel sdata4 130 .uleb128 .Lttbase0-.Lttbaseref0 131.Lttbaseref0: 132 .byte 1 # Call site Encoding = uleb128 133 .uleb128 .Lcst_end1-.Lcst_begin1 134.Lcst_begin1: 135 .uleb128 .Ltmp3-.Lfunc_begin1 # >> Call Site 1 << 136 .uleb128 .Lgarbage-.Ltmp3 # Call between .Ltmp3 and .Ltmp4 137 .uleb128 .LBB1_2-.Lfunc_begin1 # jumps to .LBB1_2 138 .byte 1 # On action: 1 139 .uleb128 .Lcatch-.Lfunc_begin1 # >> Call Site 2 << 140 .uleb128 .Lfunc_end1-.Ltmp3 # Call between .Ltmp4 and .Lfunc_end1 141# .uleb128 .LBB1_2-.Lfunc_begin1 # jumps to .LBB1_2 142 .byte 0 # On action: cleanup 143 .byte 0 # On action: cleanup 144.Lcst_end1: 145 .byte 1 # >> Action Record 1 << 146 # Catch TypeInfo 1 147 .byte 0 # No further actions 148 .p2align 2, 0x0 149 # >> Catch TypeInfos << 150 .long 0 # TypeInfo 1 151.Lttbase0: 152 .p2align 2, 0x0 153 # -- End function 154 .type .L.str,@object # @.str 155 .section .rodata.str1.1,"aMS",@progbits,1 156.L.str: 157 .asciz "bad value" 158 .size .L.str, 10 159 160 .hidden DW.ref.__gxx_personality_v0 161 .weak DW.ref.__gxx_personality_v0 162 .section .data.DW.ref.__gxx_personality_v0,"awG",@progbits,DW.ref.__gxx_personality_v0,comdat 163 .p2align 3, 0x0 164 .type DW.ref.__gxx_personality_v0,@object 165 .section ".note.GNU-stack","",@progbits 166 .addrsig 167 .addrsig_sym _Z3fooi 168 .addrsig_sym __cxa_allocate_exception 169 .addrsig_sym __gxx_personality_v0 170 .addrsig_sym __cxa_free_exception 171 .addrsig_sym __cxa_throw 172 .addrsig_sym __cxa_begin_catch 173 .addrsig_sym _ZSt9terminatev 174 .addrsig_sym _Unwind_Resume 175 .addrsig_sym _ZTISt12out_of_range 176