| .file "exc_args.cpp" |
| .text |
| .globl _Z3fooiiiiiiii |
| .type _Z3fooiiiiiiii, @function |
| _Z3fooiiiiiiii: |
| .LFB15: |
| .cfi_startproc |
| pushq %rbp |
| .cfi_def_cfa_offset 16 |
| .cfi_offset 6, -16 |
| movq %rsp, %rbp |
| .cfi_def_cfa_register 6 |
| subq $32, %rsp |
| movl %edi, -4(%rbp) |
| movl %esi, -8(%rbp) |
| movl %edx, -12(%rbp) |
| movl %ecx, -16(%rbp) |
| movl %r8d, -20(%rbp) |
| movl %r9d, -24(%rbp) |
| cmpl $1, -4(%rbp) |
| jle .L2 |
| movl $1, %edi |
| call __cxa_allocate_exception |
| movl $0, %edx |
| movl $_ZTI4ExcG, %esi |
| movq %rax, %rdi |
| call __cxa_throw |
| .L2: |
| movl $1, %edi |
| call __cxa_allocate_exception |
| movl $0, %edx |
| movl $_ZTI4ExcC, %esi |
| movq %rax, %rdi |
| call __cxa_throw |
| .cfi_endproc |
| .LFE15: |
| .size _Z3fooiiiiiiii, .-_Z3fooiiiiiiii |
| .globl _Z11filter_onlyi |
| .type _Z11filter_onlyi, @function |
| _Z11filter_onlyi: |
| .LFB16: |
| .cfi_startproc |
| .cfi_personality 0x3,__gxx_personality_v0 |
| .cfi_lsda 0x3,.LLSDA16 |
| pushq %rbp |
| .cfi_def_cfa_offset 16 |
| .cfi_offset 6, -16 |
| movq %rsp, %rbp |
| .cfi_def_cfa_register 6 |
| subq $16, %rsp |
| movl %edi, -4(%rbp) |
| movl -4(%rbp), %eax |
| pushq $7 |
| pushq $6 |
| movl $5, %r9d |
| movl $4, %r8d |
| movl $3, %ecx |
| movl $2, %edx |
| movl $1, %esi |
| movl %eax, %edi |
| .LEHB0: |
| .cfi_escape 0x2e,0x10 |
| call _Z3fooiiiiiiii |
| .LEHE0: |
| addq $16, %rsp |
| jmp .L7 |
| .L6: |
| cmpq $-1, %rdx |
| je .L5 |
| movq %rax, %rdi |
| .LEHB1: |
| call _Unwind_Resume |
| .L5: |
| movq %rax, %rdi |
| call __cxa_call_unexpected |
| .LEHE1: |
| .L7: |
| leave |
| .cfi_def_cfa 7, 8 |
| ret |
| .cfi_endproc |
| .LFE16: |
| .globl __gxx_personality_v0 |
| .section .gcc_except_table,"a",@progbits |
| .align 4 |
| .LLSDA16: |
| .byte 0xff |
| .byte 0x3 |
| .uleb128 .LLSDATT16-.LLSDATTD16 |
| .LLSDATTD16: |
| .byte 0x1 |
| .uleb128 .LLSDACSE16-.LLSDACSB16 |
| .LLSDACSB16: |
| .uleb128 .LEHB0-.LFB16 |
| .uleb128 .LEHE0-.LEHB0 |
| .uleb128 .L6-.LFB16 |
| .uleb128 0x1 |
| .uleb128 .LEHB1-.LFB16 |
| .uleb128 .LEHE1-.LEHB1 |
| .uleb128 0 |
| .uleb128 0 |
| .LLSDACSE16: |
| .byte 0x7f |
| .byte 0 |
| .align 4 |
| .long _ZTI4ExcA |
| .long _ZTI4ExcB |
| .long _ZTI4ExcC |
| .long _ZTI4ExcD |
| .long _ZTI4ExcE |
| .long _ZTI4ExcF |
| .LLSDATT16: |
| .byte 0x1 |
| .byte 0x2 |
| .byte 0x3 |
| .byte 0x4 |
| .byte 0x5 |
| .byte 0x6 |
| .byte 0 |
| .text |
| .size _Z11filter_onlyi, .-_Z11filter_onlyi |
| .section .rodata |
| .align 8 |
| .LC0: |
| .string "this statement is cold and should be outlined" |
| .text |
| .globl _Z12never_throwsv |
| .type _Z12never_throwsv, @function |
| _Z12never_throwsv: |
| .LFB17: |
| .cfi_startproc |
| .cfi_personality 0x3,__gxx_personality_v0 |
| .cfi_lsda 0x3,.LLSDA17 |
| pushq %rbp |
| .cfi_def_cfa_offset 16 |
| .cfi_offset 6, -16 |
| movq %rsp, %rbp |
| .cfi_def_cfa_register 6 |
| movl $.LC0, %edi |
| .LEHB2: |
| call puts |
| .LEHE2: |
| jmp .L12 |
| .L11: |
| cmpq $-1, %rdx |
| je .L10 |
| movq %rax, %rdi |
| .LEHB3: |
| call _Unwind_Resume |
| .L10: |
| movq %rax, %rdi |
| call __cxa_call_unexpected |
| .LEHE3: |
| .L12: |
| popq %rbp |
| .cfi_def_cfa 7, 8 |
| ret |
| .cfi_endproc |
| .LFE17: |
| .section .gcc_except_table,"a",@progbits |
| .align 4 |
| .LLSDA17: |
| .byte 0xff |
| .byte 0x3 |
| .uleb128 .LLSDATT17-.LLSDATTD17 |
| .LLSDATTD17: |
| .byte 0x1 |
| .uleb128 .LLSDACSE17-.LLSDACSB17 |
| .LLSDACSB17: |
| .uleb128 .LEHB2-.LFB17 |
| .uleb128 .LEHE2-.LEHB2 |
| .uleb128 .L11-.LFB17 |
| .uleb128 0x1 |
| .uleb128 .LEHB3-.LFB17 |
| .uleb128 .LEHE3-.LEHB3 |
| .uleb128 0 |
| .uleb128 0 |
| .LLSDACSE17: |
| .byte 0x7f |
| .byte 0 |
| .align 4 |
| .LLSDATT17: |
| .byte 0 |
| .text |
| .size _Z12never_throwsv, .-_Z12never_throwsv |
| .section .rodata |
| .LC1: |
| .string "caught exception" |
| .LC2: |
| .string "caught ExcC" |
| .text |
| .globl main |
| .type main, @function |
| main: |
| .LFB18: |
| .cfi_startproc |
| .cfi_personality 0x3,__gxx_personality_v0 |
| .cfi_lsda 0x3,.LLSDA18 |
| pushq %rbp |
| .cfi_def_cfa_offset 16 |
| .cfi_offset 6, -16 |
| movq %rsp, %rbp |
| .cfi_def_cfa_register 6 |
| pushq %rbx |
| subq $40, %rsp |
| .cfi_offset 3, -24 |
| movl %edi, -36(%rbp) |
| movq %rsi, -48(%rbp) |
| movl $1768710518, -26(%rbp) |
| movw $100, -22(%rbp) |
| movl $0, -20(%rbp) |
| .L17: |
| cmpl $999999, -20(%rbp) |
| ja .L14 |
| cmpl $2, -36(%rbp) |
| jne .L15 |
| call _Z12never_throwsv |
| .L15: |
| cmpl $2, -36(%rbp) |
| jne .L16 |
| movl -36(%rbp), %eax |
| movl %eax, %edi |
| .LEHB4: |
| call _Z11filter_onlyi |
| .LEHE4: |
| .L16: |
| movl -36(%rbp), %eax |
| pushq $7 |
| pushq $6 |
| movl $5, %r9d |
| movl $4, %r8d |
| movl $3, %ecx |
| movl $2, %edx |
| movl $1, %esi |
| movl %eax, %edi |
| .LEHB5: |
| .cfi_escape 0x2e,0x10 |
| call _Z3fooiiiiiiii |
| .LEHE5: |
| addq $16, %rsp |
| .L25: |
| addl $1, -20(%rbp) |
| jmp .L17 |
| .L14: |
| movl $0, %eax |
| jmp .L31 |
| .L27: |
| movq %rax, %rdi |
| call __cxa_begin_catch |
| movl $.LC1, %edi |
| movl $0, %eax |
| .LEHB6: |
| .cfi_escape 0x2e,0 |
| call printf |
| .LEHE6: |
| .LEHB7: |
| call __cxa_end_catch |
| .LEHE7: |
| jmp .L16 |
| .L28: |
| movq %rax, %rbx |
| call __cxa_end_catch |
| movq %rbx, %rax |
| movq %rax, %rdi |
| .LEHB8: |
| call _Unwind_Resume |
| .L29: |
| cmpq $2, %rdx |
| je .L22 |
| movq %rax, %rdi |
| call _Unwind_Resume |
| .LEHE8: |
| .L22: |
| movq %rax, %rdi |
| call __cxa_begin_catch |
| movzbl -26(%rbp), %eax |
| cmpb $118, %al |
| je .L23 |
| call abort |
| .L23: |
| movzbl -25(%rbp), %eax |
| cmpb $97, %al |
| je .L24 |
| call abort |
| .L24: |
| movl $.LC2, %edi |
| .LEHB9: |
| call puts |
| .LEHE9: |
| call __cxa_end_catch |
| jmp .L25 |
| .L30: |
| movq %rax, %rbx |
| call __cxa_end_catch |
| movq %rbx, %rax |
| movq %rax, %rdi |
| .LEHB10: |
| call _Unwind_Resume |
| .LEHE10: |
| .L31: |
| movq -8(%rbp), %rbx |
| leave |
| .cfi_def_cfa 7, 8 |
| ret |
| .cfi_endproc |
| .LFE18: |
| .section .gcc_except_table,"a",@progbits |
| .align 4 |
| .LLSDA18: |
| .byte 0xff |
| .byte 0x3 |
| .uleb128 .LLSDATT18-.LLSDATTD18 |
| .LLSDATTD18: |
| .byte 0x1 |
| .uleb128 .LLSDACSE18-.LLSDACSB18 |
| .LLSDACSB18: |
| .uleb128 .LEHB4-.LFB18 |
| .uleb128 .LEHE4-.LEHB4 |
| .uleb128 .L27-.LFB18 |
| .uleb128 0x1 |
| .uleb128 .LEHB5-.LFB18 |
| .uleb128 .LEHE5-.LEHB5 |
| .uleb128 .L29-.LFB18 |
| .uleb128 0x3 |
| .uleb128 .LEHB6-.LFB18 |
| .uleb128 .LEHE6-.LEHB6 |
| .uleb128 .L28-.LFB18 |
| .uleb128 0 |
| .uleb128 .LEHB7-.LFB18 |
| .uleb128 .LEHE7-.LEHB7 |
| .uleb128 0 |
| .uleb128 0 |
| .uleb128 .LEHB8-.LFB18 |
| .uleb128 .LEHE8-.LEHB8 |
| .uleb128 0 |
| .uleb128 0 |
| .uleb128 .LEHB9-.LFB18 |
| .uleb128 .LEHE9-.LEHB9 |
| .uleb128 .L30-.LFB18 |
| .uleb128 0 |
| .uleb128 .LEHB10-.LFB18 |
| .uleb128 .LEHE10-.LEHB10 |
| .uleb128 0 |
| .uleb128 0 |
| .LLSDACSE18: |
| .byte 0x1 |
| .byte 0 |
| .byte 0x2 |
| .byte 0 |
| .align 4 |
| .long _ZTI4ExcC |
| .long 0 |
| |
| .LLSDATT18: |
| .text |
| .size main, .-main |
| .weak _ZTI4ExcF |
| .section .rodata._ZTI4ExcF,"aG",@progbits,_ZTI4ExcF,comdat |
| .align 8 |
| .type _ZTI4ExcF, @object |
| .size _ZTI4ExcF, 16 |
| _ZTI4ExcF: |
| .quad _ZTVN10__cxxabiv117__class_type_infoE+16 |
| .quad _ZTS4ExcF |
| .weak _ZTS4ExcF |
| .section .rodata._ZTS4ExcF,"aG",@progbits,_ZTS4ExcF,comdat |
| .type _ZTS4ExcF, @object |
| .size _ZTS4ExcF, 6 |
| _ZTS4ExcF: |
| .string "4ExcF" |
| .weak _ZTI4ExcE |
| .section .rodata._ZTI4ExcE,"aG",@progbits,_ZTI4ExcE,comdat |
| .align 8 |
| .type _ZTI4ExcE, @object |
| .size _ZTI4ExcE, 16 |
| _ZTI4ExcE: |
| .quad _ZTVN10__cxxabiv117__class_type_infoE+16 |
| .quad _ZTS4ExcE |
| .weak _ZTS4ExcE |
| .section .rodata._ZTS4ExcE,"aG",@progbits,_ZTS4ExcE,comdat |
| .type _ZTS4ExcE, @object |
| .size _ZTS4ExcE, 6 |
| _ZTS4ExcE: |
| .string "4ExcE" |
| .weak _ZTI4ExcD |
| .section .rodata._ZTI4ExcD,"aG",@progbits,_ZTI4ExcD,comdat |
| .align 8 |
| .type _ZTI4ExcD, @object |
| .size _ZTI4ExcD, 16 |
| _ZTI4ExcD: |
| .quad _ZTVN10__cxxabiv117__class_type_infoE+16 |
| .quad _ZTS4ExcD |
| .weak _ZTS4ExcD |
| .section .rodata._ZTS4ExcD,"aG",@progbits,_ZTS4ExcD,comdat |
| .type _ZTS4ExcD, @object |
| .size _ZTS4ExcD, 6 |
| _ZTS4ExcD: |
| .string "4ExcD" |
| .weak _ZTI4ExcB |
| .section .rodata._ZTI4ExcB,"aG",@progbits,_ZTI4ExcB,comdat |
| .align 8 |
| .type _ZTI4ExcB, @object |
| .size _ZTI4ExcB, 16 |
| _ZTI4ExcB: |
| .quad _ZTVN10__cxxabiv117__class_type_infoE+16 |
| .quad _ZTS4ExcB |
| .weak _ZTS4ExcB |
| .section .rodata._ZTS4ExcB,"aG",@progbits,_ZTS4ExcB,comdat |
| .type _ZTS4ExcB, @object |
| .size _ZTS4ExcB, 6 |
| _ZTS4ExcB: |
| .string "4ExcB" |
| .weak _ZTI4ExcA |
| .section .rodata._ZTI4ExcA,"aG",@progbits,_ZTI4ExcA,comdat |
| .align 8 |
| .type _ZTI4ExcA, @object |
| .size _ZTI4ExcA, 16 |
| _ZTI4ExcA: |
| .quad _ZTVN10__cxxabiv117__class_type_infoE+16 |
| .quad _ZTS4ExcA |
| .weak _ZTS4ExcA |
| .section .rodata._ZTS4ExcA,"aG",@progbits,_ZTS4ExcA,comdat |
| .type _ZTS4ExcA, @object |
| .size _ZTS4ExcA, 6 |
| _ZTS4ExcA: |
| .string "4ExcA" |
| .weak _ZTI4ExcC |
| .section .rodata._ZTI4ExcC,"aG",@progbits,_ZTI4ExcC,comdat |
| .align 8 |
| .type _ZTI4ExcC, @object |
| .size _ZTI4ExcC, 16 |
| _ZTI4ExcC: |
| .quad _ZTVN10__cxxabiv117__class_type_infoE+16 |
| .quad _ZTS4ExcC |
| .weak _ZTS4ExcC |
| .section .rodata._ZTS4ExcC,"aG",@progbits,_ZTS4ExcC,comdat |
| .type _ZTS4ExcC, @object |
| .size _ZTS4ExcC, 6 |
| _ZTS4ExcC: |
| .string "4ExcC" |
| .weak _ZTI4ExcG |
| .section .rodata._ZTI4ExcG,"aG",@progbits,_ZTI4ExcG,comdat |
| .align 8 |
| .type _ZTI4ExcG, @object |
| .size _ZTI4ExcG, 16 |
| _ZTI4ExcG: |
| .quad _ZTVN10__cxxabiv117__class_type_infoE+16 |
| .quad _ZTS4ExcG |
| .weak _ZTS4ExcG |
| .section .rodata._ZTS4ExcG,"aG",@progbits,_ZTS4ExcG,comdat |
| .type _ZTS4ExcG, @object |
| .size _ZTS4ExcG, 6 |
| _ZTS4ExcG: |
| .string "4ExcG" |
| .ident "GCC: (GNU) 8.5.0 20210514 (Red Hat 8.5.0-3)" |
| .section .note.GNU-stack,"",@progbits |