(module
 (type $0 (func))
 (type $1 (func (param i32)))
 (type $2 (func (param i32) (result i32)))
 (import "env" "_Z3foov" (func $foo\28\29))
 (import "env" "__cxa_begin_catch" (func $__cxa_begin_catch (param i32) (result i32)))
 (import "env" "__cxa_end_catch" (func $__cxa_end_catch))
 (import "env" "_ZSt9terminatev" (func $std::terminate\28\29))
 (global $__stack_pointer (mut i32) (i32.const 66560))
 (memory $0 2)
 (tag $tag$0 (param i32))
 (export "memory" (memory $0))
 (func $__wasm_call_ctors
 )
 (func $dwarf_with_exceptions\28\29
  (local $0 i32)
  (local $1 i32)
  ;; code offset: 0xe
  (local.set $0
   ;; code offset: 0x8
   (global.get $__stack_pointer)
  )
  ;; code offset: 0x10
  (try $label$9
   (do
    ;; code offset: 0x12
    (call $foo\28\29)
   )
   ;; code offset: 0x18
   (catch $tag$0
    ;; code offset: 0x1e
    (local.set $1
     (pop i32)
    )
    ;; code offset: 0x22
    (global.set $__stack_pointer
     ;; code offset: 0x20
     (local.get $0)
    )
    ;; code offset: 0x30
    (drop
     ;; code offset: 0x2a
     (call $__cxa_begin_catch
      ;; code offset: 0x28
      (local.get $1)
     )
    )
    ;; code offset: 0x31
    (try $label$8
     (do
      ;; code offset: 0x33
      (call $foo\28\29)
      ;; code offset: 0x3b
      (global.set $__stack_pointer
       ;; code offset: 0x39
       (local.get $0)
      )
     )
     ;; code offset: 0x41
     (catch_all
      ;; code offset: 0x42
      (try $label$7
       (do
        ;; code offset: 0x44
        (call $__cxa_end_catch)
       )
       ;; code offset: 0x4a
       (catch $tag$0
        ;; code offset: 0x50
        (local.set $1
         (pop i32)
        )
        ;; code offset: 0x54
        (global.set $__stack_pointer
         ;; code offset: 0x52
         (local.get $0)
        )
        ;; code offset: 0x5c
        (call $__clang_call_terminate
         ;; code offset: 0x5a
         (local.get $1)
        )
        ;; code offset: 0x62
        (unreachable)
       )
       ;; code offset: 0x63
       (catch_all
        ;; code offset: 0x64
        (call $std::terminate\28\29)
        ;; code offset: 0x6a
        (unreachable)
       )
      )
      ;; code offset: 0x6c
      (rethrow $label$8)
     )
    )
    ;; code offset: 0x6f
    (call $__cxa_end_catch)
   )
  )
 )
 (func $__clang_call_terminate (param $0 i32)
  ;; code offset: 0x81
  (drop
   ;; code offset: 0x7b
   (call $__cxa_begin_catch
    ;; code offset: 0x79
    (local.get $0)
   )
  )
  ;; code offset: 0x82
  (call $std::terminate\28\29)
  ;; code offset: 0x88
  (unreachable)
 )
 ;; custom section ".debug_info", size 63
 ;; custom section ".debug_abbrev", size 41
 ;; custom section ".debug_line", size 109
 ;; custom section ".debug_str", size 178
 ;; custom section "producers", size 134
 ;; features section: mutable-globals, sign-ext, exception-handling
)
DWARF debug info
================

Contains section .debug_info (63 bytes)
Contains section .debug_abbrev (41 bytes)
Contains section .debug_line (109 bytes)
Contains section .debug_str (178 bytes)

.debug_abbrev contents:
Abbrev table for offset: 0x00000000
[1] DW_TAG_compile_unit	DW_CHILDREN_yes
	DW_AT_producer	DW_FORM_strp
	DW_AT_language	DW_FORM_data2
	DW_AT_name	DW_FORM_strp
	DW_AT_stmt_list	DW_FORM_sec_offset
	DW_AT_comp_dir	DW_FORM_strp
	DW_AT_low_pc	DW_FORM_addr
	DW_AT_high_pc	DW_FORM_data4

[2] DW_TAG_subprogram	DW_CHILDREN_no
	DW_AT_low_pc	DW_FORM_addr
	DW_AT_high_pc	DW_FORM_data4
	DW_AT_frame_base	DW_FORM_exprloc
	DW_AT_linkage_name	DW_FORM_strp
	DW_AT_name	DW_FORM_strp
	DW_AT_decl_file	DW_FORM_data1
	DW_AT_decl_line	DW_FORM_data1
	DW_AT_external	DW_FORM_flag_present


.debug_info contents:
0x00000000: Compile Unit: length = 0x0000003b version = 0x0004 abbr_offset = 0x0000 addr_size = 0x04 (next unit at 0x0000003f)

0x0000000b: DW_TAG_compile_unit [1] *
              DW_AT_producer [DW_FORM_strp]	( .debug_str[0x00000000] = "clang version 13.0.0 (https://github.com/llvm/llvm-project 3c4c205060c9398da705eb71b63ddd8a04999de9)")
              DW_AT_language [DW_FORM_data2]	(DW_LANG_C_plus_plus_14)
              DW_AT_name [DW_FORM_strp]	( .debug_str[0x00000065] = "dwarf_with_exceptions.cpp")
              DW_AT_stmt_list [DW_FORM_sec_offset]	(0x00000000)
              DW_AT_comp_dir [DW_FORM_strp]	( .debug_str[0x0000007f] = "/")
              DW_AT_low_pc [DW_FORM_addr]	(0x0000000000000005)
              DW_AT_high_pc [DW_FORM_data4]	(0x00000072)

0x00000026:   DW_TAG_subprogram [2]  
                DW_AT_low_pc [DW_FORM_addr]	(0x0000000000000005)
                DW_AT_high_pc [DW_FORM_data4]	(0x00000072)
                DW_AT_frame_base [DW_FORM_exprloc]	(DW_OP_WASM_location 0x0 +0, DW_OP_stack_value)
                DW_AT_linkage_name [DW_FORM_strp]	( .debug_str[0x00000081] = "_Z21dwarf_with_exceptionsv")
                DW_AT_name [DW_FORM_strp]	( .debug_str[0x0000009c] = "dwarf_with_exceptions")
                DW_AT_decl_file [DW_FORM_data1]	("/dwarf_with_exceptions.cpp")
                DW_AT_decl_line [DW_FORM_data1]	(2)
                DW_AT_external [DW_FORM_flag_present]	(true)

0x0000003e:   NULL

.debug_line contents:
debug_line[0x00000000]
Line table prologue:
    total_length: 0x00000069
         version: 4
 prologue_length: 0x00000031
 min_inst_length: 1
max_ops_per_inst: 1
 default_is_stmt: 1
       line_base: -5
      line_range: 14
     opcode_base: 13
standard_opcode_lengths[DW_LNS_copy] = 0
standard_opcode_lengths[DW_LNS_advance_pc] = 1
standard_opcode_lengths[DW_LNS_advance_line] = 1
standard_opcode_lengths[DW_LNS_set_file] = 1
standard_opcode_lengths[DW_LNS_set_column] = 1
standard_opcode_lengths[DW_LNS_negate_stmt] = 0
standard_opcode_lengths[DW_LNS_set_basic_block] = 0
standard_opcode_lengths[DW_LNS_const_add_pc] = 0
standard_opcode_lengths[DW_LNS_fixed_advance_pc] = 1
standard_opcode_lengths[DW_LNS_set_prologue_end] = 0
standard_opcode_lengths[DW_LNS_set_epilogue_begin] = 0
standard_opcode_lengths[DW_LNS_set_isa] = 1
file_names[  1]:
           name: "dwarf_with_exceptions.cpp"
      dir_index: 0
       mod_time: 0x00000000
         length: 0x00000000
0x0000003b: 00 DW_LNE_set_address (0x0000000000000005)
0x00000042: 13 address += 0,  line += 1
            0x0000000000000005      2      0      1   0             0  is_stmt

0x00000043: 05 DW_LNS_set_column (5)
0x00000045: 0a DW_LNS_set_prologue_end
0x00000046: ae address += 11,  line += 2
            0x0000000000000010      4      5      1   0             0  is_stmt prologue_end

0x00000047: 05 DW_LNS_set_column (3)
0x00000049: 83 address += 8,  line += 1
            0x0000000000000018      5      3      1   0             0  is_stmt

0x0000004a: 05 DW_LNS_set_column (5)
0x0000004c: 08 DW_LNS_const_add_pc (0x0000000000000011)
0x0000004d: 83 address += 8,  line += 1
            0x0000000000000031      6      5      1   0             0  is_stmt

0x0000004e: 06 DW_LNS_negate_stmt
0x0000004f: 03 DW_LNS_advance_line (0)
0x00000051: 82 address += 8,  line += 0
            0x0000000000000039      0      5      1   0             0 

0x00000052: 05 DW_LNS_set_column (3)
0x00000054: 06 DW_LNS_negate_stmt
0x00000055: 89 address += 8,  line += 7
            0x0000000000000041      7      3      1   0             0  is_stmt

0x00000056: 06 DW_LNS_negate_stmt
0x00000057: 03 DW_LNS_advance_line (0)
0x00000059: 02 DW_LNS_advance_pc (42)
0x0000005b: 01 DW_LNS_copy
            0x000000000000006b      0      3      1   0             0 


0x0000005c: 27 address += 1,  line += 7
            0x000000000000006c      7      3      1   0             0 

0x0000005d: 03 DW_LNS_advance_line (0)
0x0000005f: 2e address += 2,  line += 0
            0x000000000000006e      0      3      1   0             0 

0x00000060: 27 address += 1,  line += 7
            0x000000000000006f      7      3      1   0             0 

0x00000061: 03 DW_LNS_advance_line (0)
0x00000063: 66 address += 6,  line += 0
            0x0000000000000075      0      3      1   0             0 

0x00000064: 05 DW_LNS_set_column (1)
0x00000066: 06 DW_LNS_negate_stmt
0x00000067: 28 address += 1,  line += 8
            0x0000000000000076      8      1      1   0             0  is_stmt

0x00000068: 02 DW_LNS_advance_pc (1)
0x0000006a: 00 DW_LNE_end_sequence
            0x0000000000000077      8      1      1   0             0  is_stmt end_sequence


.debug_str contents:
0x00000000: "clang version 13.0.0 (https://github.com/llvm/llvm-project 3c4c205060c9398da705eb71b63ddd8a04999de9)"
0x00000065: "dwarf_with_exceptions.cpp"
0x0000007f: "/"
0x00000081: "_Z21dwarf_with_exceptionsv"
0x0000009c: "dwarf_with_exceptions"
DWARF debug info
================

Contains section .debug_info (63 bytes)
Contains section .debug_abbrev (41 bytes)
Contains section .debug_line (162 bytes)
Contains section .debug_str (178 bytes)

.debug_abbrev contents:
Abbrev table for offset: 0x00000000
[1] DW_TAG_compile_unit	DW_CHILDREN_yes
	DW_AT_producer	DW_FORM_strp
	DW_AT_language	DW_FORM_data2
	DW_AT_name	DW_FORM_strp
	DW_AT_stmt_list	DW_FORM_sec_offset
	DW_AT_comp_dir	DW_FORM_strp
	DW_AT_low_pc	DW_FORM_addr
	DW_AT_high_pc	DW_FORM_data4

[2] DW_TAG_subprogram	DW_CHILDREN_no
	DW_AT_low_pc	DW_FORM_addr
	DW_AT_high_pc	DW_FORM_data4
	DW_AT_frame_base	DW_FORM_exprloc
	DW_AT_linkage_name	DW_FORM_strp
	DW_AT_name	DW_FORM_strp
	DW_AT_decl_file	DW_FORM_data1
	DW_AT_decl_line	DW_FORM_data1
	DW_AT_external	DW_FORM_flag_present


.debug_info contents:
0x00000000: Compile Unit: length = 0x0000003b version = 0x0004 abbr_offset = 0x0000 addr_size = 0x04 (next unit at 0x0000003f)

0x0000000b: DW_TAG_compile_unit [1] *
              DW_AT_producer [DW_FORM_strp]	( .debug_str[0x00000000] = "clang version 13.0.0 (https://github.com/llvm/llvm-project 3c4c205060c9398da705eb71b63ddd8a04999de9)")
              DW_AT_language [DW_FORM_data2]	(DW_LANG_C_plus_plus_14)
              DW_AT_name [DW_FORM_strp]	( .debug_str[0x00000065] = "dwarf_with_exceptions.cpp")
              DW_AT_stmt_list [DW_FORM_sec_offset]	(0x00000000)
              DW_AT_comp_dir [DW_FORM_strp]	( .debug_str[0x0000007f] = "/")
              DW_AT_low_pc [DW_FORM_addr]	(0x0000000000000005)
              DW_AT_high_pc [DW_FORM_data4]	(0x00000040)

0x00000026:   DW_TAG_subprogram [2]  
                DW_AT_low_pc [DW_FORM_addr]	(0x0000000000000005)
                DW_AT_high_pc [DW_FORM_data4]	(0x00000040)
                DW_AT_frame_base [DW_FORM_exprloc]	(DW_OP_WASM_location 0x0 +0, DW_OP_stack_value)
                DW_AT_linkage_name [DW_FORM_strp]	( .debug_str[0x00000081] = "_Z21dwarf_with_exceptionsv")
                DW_AT_name [DW_FORM_strp]	( .debug_str[0x0000009c] = "dwarf_with_exceptions")
                DW_AT_decl_file [DW_FORM_data1]	("/dwarf_with_exceptions.cpp")
                DW_AT_decl_line [DW_FORM_data1]	(2)
                DW_AT_external [DW_FORM_flag_present]	(true)

0x0000003e:   NULL

.debug_line contents:
debug_line[0x00000000]
Line table prologue:
    total_length: 0x0000009e
         version: 4
 prologue_length: 0x00000031
 min_inst_length: 1
max_ops_per_inst: 1
 default_is_stmt: 1
       line_base: -5
      line_range: 14
     opcode_base: 13
standard_opcode_lengths[DW_LNS_copy] = 0
standard_opcode_lengths[DW_LNS_advance_pc] = 1
standard_opcode_lengths[DW_LNS_advance_line] = 1
standard_opcode_lengths[DW_LNS_set_file] = 1
standard_opcode_lengths[DW_LNS_set_column] = 1
standard_opcode_lengths[DW_LNS_negate_stmt] = 0
standard_opcode_lengths[DW_LNS_set_basic_block] = 0
standard_opcode_lengths[DW_LNS_const_add_pc] = 0
standard_opcode_lengths[DW_LNS_fixed_advance_pc] = 1
standard_opcode_lengths[DW_LNS_set_prologue_end] = 0
standard_opcode_lengths[DW_LNS_set_epilogue_begin] = 0
standard_opcode_lengths[DW_LNS_set_isa] = 1
file_names[  1]:
           name: "dwarf_with_exceptions.cpp"
      dir_index: 0
       mod_time: 0x00000000
         length: 0x00000000
0x0000003b: 00 DW_LNE_set_address (0x0000000000000005)
0x00000042: 03 DW_LNS_advance_line (2)
0x00000044: 01 DW_LNS_copy
            0x0000000000000005      2      0      1   0             0  is_stmt


0x00000045: 00 DW_LNE_set_address (0x000000000000000e)
0x0000004c: 03 DW_LNS_advance_line (4)
0x0000004e: 05 DW_LNS_set_column (5)
0x00000050: 0a DW_LNS_set_prologue_end
0x00000051: 01 DW_LNS_copy
            0x000000000000000e      4      5      1   0             0  is_stmt prologue_end


0x00000052: 00 DW_LNE_set_address (0x0000000000000012)
0x00000059: 03 DW_LNS_advance_line (5)
0x0000005b: 05 DW_LNS_set_column (3)
0x0000005d: 01 DW_LNS_copy
            0x0000000000000012      5      3      1   0             0  is_stmt


0x0000005e: 00 DW_LNE_set_address (0x000000000000001f)
0x00000065: 03 DW_LNS_advance_line (6)
0x00000067: 05 DW_LNS_set_column (5)
0x00000069: 01 DW_LNS_copy
            0x000000000000001f      6      5      1   0             0  is_stmt


0x0000006a: 00 DW_LNE_set_address (0x000000000000003e)
0x00000071: 03 DW_LNS_advance_line (7)
0x00000073: 05 DW_LNS_set_column (3)
0x00000075: 06 DW_LNS_negate_stmt
0x00000076: 01 DW_LNS_copy
            0x000000000000003e      7      3      1   0             0 


0x00000077: 00 DW_LNE_set_address (0x0000000000000041)
0x0000007e: 01 DW_LNS_copy
            0x0000000000000041      7      3      1   0             0 


0x0000007f: 00 DW_LNE_set_address (0x0000000000000044)
0x00000086: 03 DW_LNS_advance_line (8)
0x00000088: 05 DW_LNS_set_column (1)
0x0000008a: 06 DW_LNS_negate_stmt
0x0000008b: 01 DW_LNS_copy
            0x0000000000000044      8      1      1   0             0  is_stmt


0x0000008c: 00 DW_LNE_set_address (0x0000000000000045)
0x00000093: 01 DW_LNS_copy
            0x0000000000000045      8      1      1   0             0  is_stmt


0x00000094: 00 DW_LNE_set_address (0x00000000ffffff64)
0x0000009b: 03 DW_LNS_advance_line (7)
0x0000009d: 05 DW_LNS_set_column (3)
0x0000009f: 00 DW_LNE_end_sequence
            0x00000000ffffff64      7      3      1   0             0  is_stmt end_sequence


.debug_str contents:
0x00000000: "clang version 13.0.0 (https://github.com/llvm/llvm-project 3c4c205060c9398da705eb71b63ddd8a04999de9)"
0x00000065: "dwarf_with_exceptions.cpp"
0x0000007f: "/"
0x00000081: "_Z21dwarf_with_exceptionsv"
0x0000009c: "dwarf_with_exceptions"
(module
 (type $0 (func))
 (type $1 (func (param i32)))
 (type $2 (func (param i32) (result i32)))
 (import "env" "_Z3foov" (func $foo\28\29))
 (import "env" "__cxa_begin_catch" (func $__cxa_begin_catch (param i32) (result i32)))
 (import "env" "__cxa_end_catch" (func $__cxa_end_catch))
 (import "env" "_ZSt9terminatev" (func $std::terminate\28\29))
 (global $__stack_pointer (mut i32) (i32.const 66560))
 (memory $0 2)
 (tag $tag$0 (param i32))
 (export "memory" (memory $0))
 (func $__wasm_call_ctors
 )
 (func $dwarf_with_exceptions\28\29
  (local $0 i32)
  (local $1 i32)
  ;; code offset: 0xc
  (local.set $0
   ;; code offset: 0xa
   (global.get $__stack_pointer)
  )
  ;; code offset: 0xe
  (try $label$9
   (do
    ;; code offset: 0x10
    (call $foo\28\29)
   )
   ;; code offset: 0x12
   (catch $tag$0
    ;; code offset: 0x14
    (local.set $1
     (pop i32)
    )
    ;; code offset: 0x18
    (global.set $__stack_pointer
     ;; code offset: 0x16
     (local.get $0)
    )
    ;; code offset: 0x1e
    (drop
     ;; code offset: 0x1c
     (call $__cxa_begin_catch
      ;; code offset: 0x1a
      (local.get $1)
     )
    )
    ;; code offset: 0x1f
    (try $label$8
     (do
      ;; code offset: 0x21
      (call $foo\28\29)
      ;; code offset: 0x25
      (global.set $__stack_pointer
       ;; code offset: 0x23
       (local.get $0)
      )
     )
     ;; code offset: 0x27
     (catch_all
      ;; code offset: 0x28
      (try $label$7
       (do
        ;; code offset: 0x2a
        (call $__cxa_end_catch)
       )
       ;; code offset: 0x2c
       (catch $tag$0
        ;; code offset: 0x2e
        (local.set $1
         (pop i32)
        )
        ;; code offset: 0x32
        (global.set $__stack_pointer
         ;; code offset: 0x30
         (local.get $0)
        )
        ;; code offset: 0x36
        (call $__clang_call_terminate
         ;; code offset: 0x34
         (local.get $1)
        )
        ;; code offset: 0x38
        (unreachable)
       )
       ;; code offset: 0x39
       (catch_all
        ;; code offset: 0x3a
        (call $std::terminate\28\29)
        ;; code offset: 0x3c
        (unreachable)
       )
      )
      ;; code offset: 0x3e
      (rethrow $label$8)
     )
    )
    ;; code offset: 0x41
    (call $__cxa_end_catch)
   )
  )
 )
 (func $__clang_call_terminate (param $0 i32)
  ;; code offset: 0x4b
  (drop
   ;; code offset: 0x49
   (call $__cxa_begin_catch
    ;; code offset: 0x47
    (local.get $0)
   )
  )
  ;; code offset: 0x4c
  (call $std::terminate\28\29)
  ;; code offset: 0x4e
  (unreachable)
 )
 ;; custom section ".debug_info", size 63
 ;; custom section ".debug_abbrev", size 41
 ;; custom section ".debug_line", size 162
 ;; custom section ".debug_str", size 178
 ;; custom section "producers", size 134
 ;; features section: mutable-globals, sign-ext, exception-handling
)
