Skip to content

Instantly share code, notes, and snippets.

@modocache
Last active February 26, 2020 21:10
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save modocache/8a7b12eb42012990ba534787c4a47275 to your computer and use it in GitHub Desktop.
Save modocache/8a7b12eb42012990ba534787c4a47275 to your computer and use it in GitHub Desktop.
/home/modocache/Source/tmp/coro02242020/repro: file format ELF64-x86-64
.debug_info contents:
0x00000000: Compile Unit: length = 0x000016ef version = 0x0004 abbr_offset = 0x0000 addr_size = 0x08 (next unit at 0x000016f3)
0x0000000b: DW_TAG_compile_unit
DW_AT_producer ("clang version 11.0.0 (https://github.com/llvm/llvm-project.git cbd31f0e2df81b3f2807851551dfb5eda9e78017)")
DW_AT_language (DW_LANG_C_plus_plus_14)
DW_AT_name ("/home/modocache/Source/tmp/coro02242020/repro.cpp")
DW_AT_stmt_list (0x00000000)
DW_AT_comp_dir ("/home/modocache/Source/llvm/git/dev/llvm-project")
DW_AT_low_pc (0x0000000000000000)
DW_AT_ranges (0x00000000
[0x0000000000201b10, 0x000000000020200a)
[0x0000000000202010, 0x0000000000202041)
[0x0000000000202060, 0x0000000000202ae0)
[0x0000000000202ae0, 0x0000000000202b18)
[0x0000000000202b20, 0x0000000000202b2a)
[0x0000000000202b30, 0x0000000000202b41)
[0x0000000000202b50, 0x0000000000202b5e)
[0x0000000000202b60, 0x0000000000202b87)
[0x0000000000202b90, 0x0000000000202b9a)
[0x0000000000202ba0, 0x0000000000202bb1)
[0x0000000000202bc0, 0x0000000000202bce)
[0x0000000000202bd0, 0x0000000000202bda)
[0x0000000000202be0, 0x0000000000202bea)
[0x0000000000202bf0, 0x0000000000202bfa)
[0x0000000000202c00, 0x0000000000202c1e)
[0x0000000000202c20, 0x0000000000202c52)
[0x0000000000202c60, 0x0000000000202c79)
[0x0000000000202c80, 0x0000000000202c9e)
[0x0000000000202ca0, 0x0000000000202cae)
[0x0000000000202cb0, 0x0000000000202cc5))
0x0000002a: DW_TAG_structure_type
DW_AT_calling_convention (DW_CC_pass_by_value)
DW_AT_name ("coro")
DW_AT_byte_size (0x08)
DW_AT_decl_file ("/home/modocache/Source/tmp/coro02242020/repro.cpp")
DW_AT_decl_line (6)
0x00000033: DW_TAG_member
DW_AT_name ("handle")
DW_AT_type (0x000000cc "coroutine_handle<coro::promise_type>")
DW_AT_decl_file ("/home/modocache/Source/tmp/coro02242020/repro.cpp")
DW_AT_decl_line (18)
DW_AT_data_member_location (0x00)
0x0000003f: DW_TAG_structure_type
DW_AT_calling_convention (DW_CC_pass_by_value)
DW_AT_name ("promise_type")
DW_AT_byte_size (0x01)
DW_AT_decl_file ("/home/modocache/Source/tmp/coro02242020/repro.cpp")
DW_AT_decl_line (7)
0x00000048: DW_TAG_subprogram
DW_AT_linkage_name ("_ZN4coro12promise_type17get_return_objectEv")
DW_AT_name ("get_return_object")
DW_AT_decl_file ("/home/modocache/Source/tmp/coro02242020/repro.cpp")
DW_AT_decl_line (8)
DW_AT_type (0x0000002a "coro")
DW_AT_declaration (true)
DW_AT_external (true)
0x00000057: DW_TAG_formal_parameter
DW_AT_type (0x0000076c "promise_type*")
DW_AT_artificial (true)
0x0000005c: NULL
0x0000005d: DW_TAG_subprogram
DW_AT_linkage_name ("_ZN4coro12promise_type15initial_suspendEv")
DW_AT_name ("initial_suspend")
DW_AT_decl_file ("/home/modocache/Source/tmp/coro02242020/repro.cpp")
DW_AT_decl_line (12)
DW_AT_type (0x00000275 "suspend_never")
DW_AT_declaration (true)
DW_AT_external (true)
0x0000006c: DW_TAG_formal_parameter
DW_AT_type (0x0000076c "promise_type*")
DW_AT_artificial (true)
0x00000071: NULL
0x00000072: DW_TAG_subprogram
DW_AT_linkage_name ("_ZN4coro12promise_type13final_suspendEv")
DW_AT_name ("final_suspend")
DW_AT_decl_file ("/home/modocache/Source/tmp/coro02242020/repro.cpp")
DW_AT_decl_line (13)
DW_AT_type (0x00000275 "suspend_never")
DW_AT_declaration (true)
DW_AT_external (true)
0x00000081: DW_TAG_formal_parameter
DW_AT_type (0x0000076c "promise_type*")
DW_AT_artificial (true)
0x00000086: NULL
0x00000087: DW_TAG_subprogram
DW_AT_linkage_name ("_ZN4coro12promise_type11return_voidEv")
DW_AT_name ("return_void")
DW_AT_decl_file ("/home/modocache/Source/tmp/coro02242020/repro.cpp")
DW_AT_decl_line (14)
DW_AT_declaration (true)
DW_AT_external (true)
0x00000092: DW_TAG_formal_parameter
DW_AT_type (0x0000076c "promise_type*")
DW_AT_artificial (true)
0x00000097: NULL
0x00000098: DW_TAG_subprogram
DW_AT_linkage_name ("_ZN4coro12promise_type19unhandled_exceptionEv")
DW_AT_name ("unhandled_exception")
DW_AT_decl_file ("/home/modocache/Source/tmp/coro02242020/repro.cpp")
DW_AT_decl_line (15)
DW_AT_declaration (true)
DW_AT_external (true)
0x000000a3: DW_TAG_formal_parameter
DW_AT_type (0x0000076c "promise_type*")
DW_AT_artificial (true)
0x000000a8: NULL
0x000000a9: NULL
0x000000aa: DW_TAG_subprogram
DW_AT_name ("coro")
DW_AT_decl_file ("/home/modocache/Source/tmp/coro02242020/repro.cpp")
DW_AT_decl_line (19)
DW_AT_declaration (true)
DW_AT_external (true)
0x000000b1: DW_TAG_formal_parameter
DW_AT_type (0x00000785 "coro*")
DW_AT_artificial (true)
0x000000b6: DW_TAG_formal_parameter
DW_AT_type (0x000000cc "coroutine_handle<coro::promise_type>")
0x000000bb: NULL
0x000000bc: NULL
0x000000bd: DW_TAG_namespace
DW_AT_name ("std")
0x000000c2: DW_TAG_namespace
DW_AT_name ("experimental")
0x000000c7: DW_TAG_namespace
DW_AT_name ("coroutines_v1")
DW_AT_export_symbols (true)
0x000000cc: DW_TAG_class_type
DW_AT_calling_convention (DW_CC_pass_by_value)
DW_AT_name ("coroutine_handle<coro::promise_type>")
DW_AT_byte_size (0x08)
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/experimental/coroutine")
DW_AT_decl_line (196)
0x000000d5: DW_TAG_inheritance
DW_AT_type (0x00000165 "coroutine_handle<void>")
DW_AT_data_member_location (0x00)
DW_AT_accessibility (DW_ACCESS_public)
0x000000dc: DW_TAG_subprogram
DW_AT_linkage_name ("_ZNSt12experimental13coroutines_v116coroutine_handleIN4coro12promise_typeEEaSEDn")
DW_AT_name ("operator=")
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/experimental/coroutine")
DW_AT_decl_line (207)
DW_AT_type (0x0000075d "coroutine_handle<coro::promise_type>&")
DW_AT_declaration (true)
DW_AT_external (true)
DW_AT_accessibility (DW_ACCESS_public)
0x000000ec: DW_TAG_formal_parameter
DW_AT_type (0x00000762 "coroutine_handle<coro::promise_type>*")
DW_AT_artificial (true)
0x000000f1: DW_TAG_formal_parameter
DW_AT_type (0x0000030b "nullptr_t")
0x000000f6: NULL
0x000000f7: DW_TAG_subprogram
DW_AT_linkage_name ("_ZNKSt12experimental13coroutines_v116coroutine_handleIN4coro12promise_typeEE7promiseEv")
DW_AT_name ("promise")
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/experimental/coroutine")
DW_AT_decl_line (213)
DW_AT_type (0x00000767 "promise_type&")
DW_AT_declaration (true)
DW_AT_external (true)
DW_AT_accessibility (DW_ACCESS_public)
0x00000107: DW_TAG_formal_parameter
DW_AT_type (0x0000077b "const coroutine_handle<coro::promise_type>*")
DW_AT_artificial (true)
0x0000010c: NULL
0x0000010d: DW_TAG_subprogram
DW_AT_linkage_name ("_ZNSt12experimental13coroutines_v116coroutine_handleIN4coro12promise_typeEE12from_addressEPv")
DW_AT_name ("from_address")
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/experimental/coroutine")
DW_AT_decl_line (220)
DW_AT_type (0x000000cc "coroutine_handle<coro::promise_type>")
DW_AT_declaration (true)
DW_AT_external (true)
DW_AT_accessibility (DW_ACCESS_public)
0x0000011d: DW_TAG_formal_parameter
DW_AT_type (0x0000073c "*")
0x00000122: NULL
0x00000123: DW_TAG_subprogram
DW_AT_linkage_name ("_ZNSt12experimental13coroutines_v116coroutine_handleIN4coro12promise_typeEE12from_addressEDn")
DW_AT_name ("from_address")
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/experimental/coroutine")
DW_AT_decl_line (231)
DW_AT_type (0x000000cc "coroutine_handle<coro::promise_type>")
DW_AT_declaration (true)
DW_AT_external (true)
DW_AT_accessibility (DW_ACCESS_public)
0x00000133: DW_TAG_formal_parameter
DW_AT_type (0x0000030b "nullptr_t")
0x00000138: NULL
0x00000139: DW_TAG_subprogram
DW_AT_linkage_name ("_ZNSt12experimental13coroutines_v116coroutine_handleIN4coro12promise_typeEE12from_promiseERS3_")
DW_AT_name ("from_promise")
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/experimental/coroutine")
DW_AT_decl_line (250)
DW_AT_type (0x000000cc "coroutine_handle<coro::promise_type>")
DW_AT_declaration (true)
DW_AT_external (true)
DW_AT_accessibility (DW_ACCESS_public)
0x00000149: DW_TAG_formal_parameter
DW_AT_type (0x00000767 "promise_type&")
0x0000014e: NULL
0x0000014f: DW_TAG_template_type_parameter
DW_AT_type (0x0000003f "promise_type")
DW_AT_name ("_Promise")
0x00000158: DW_TAG_subprogram
DW_AT_name ("coroutine_handle")
DW_AT_declaration (true)
DW_AT_artificial (true)
DW_AT_external (true)
DW_AT_accessibility (DW_ACCESS_public)
0x0000015e: DW_TAG_formal_parameter
DW_AT_type (0x00000762 "coroutine_handle<coro::promise_type>*")
DW_AT_artificial (true)
0x00000163: NULL
0x00000164: NULL
0x00000165: DW_TAG_class_type
DW_AT_calling_convention (DW_CC_pass_by_value)
DW_AT_name ("coroutine_handle<void>")
DW_AT_byte_size (0x08)
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/experimental/coroutine")
DW_AT_decl_line (92)
0x0000016e: DW_TAG_member
DW_AT_name ("__handle_")
DW_AT_type (0x0000073c "*")
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/experimental/coroutine")
DW_AT_decl_line (166)
DW_AT_data_member_location (0x00)
0x0000017a: DW_TAG_subprogram
DW_AT_name ("coroutine_handle")
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/experimental/coroutine")
DW_AT_decl_line (95)
DW_AT_declaration (true)
DW_AT_external (true)
DW_AT_accessibility (DW_ACCESS_public)
0x00000182: DW_TAG_formal_parameter
DW_AT_type (0x0000073d "coroutine_handle<void>*")
DW_AT_artificial (true)
0x00000187: NULL
0x00000188: DW_TAG_subprogram
DW_AT_name ("coroutine_handle")
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/experimental/coroutine")
DW_AT_decl_line (98)
DW_AT_declaration (true)
DW_AT_external (true)
DW_AT_accessibility (DW_ACCESS_public)
0x00000190: DW_TAG_formal_parameter
DW_AT_type (0x0000073d "coroutine_handle<void>*")
DW_AT_artificial (true)
0x00000195: DW_TAG_formal_parameter
DW_AT_type (0x0000030b "nullptr_t")
0x0000019a: NULL
0x0000019b: DW_TAG_subprogram
DW_AT_linkage_name ("_ZNSt12experimental13coroutines_v116coroutine_handleIvEaSEDn")
DW_AT_name ("operator=")
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/experimental/coroutine")
DW_AT_decl_line (101)
DW_AT_type (0x00000747 "coroutine_handle<void>&")
DW_AT_declaration (true)
DW_AT_external (true)
DW_AT_accessibility (DW_ACCESS_public)
0x000001ab: DW_TAG_formal_parameter
DW_AT_type (0x0000073d "coroutine_handle<void>*")
DW_AT_artificial (true)
0x000001b0: DW_TAG_formal_parameter
DW_AT_type (0x0000030b "nullptr_t")
0x000001b5: NULL
0x000001b6: DW_TAG_subprogram
DW_AT_linkage_name ("_ZNKSt12experimental13coroutines_v116coroutine_handleIvE7addressEv")
DW_AT_name ("address")
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/experimental/coroutine")
DW_AT_decl_line (107)
DW_AT_type (0x0000073c "*")
DW_AT_declaration (true)
DW_AT_external (true)
DW_AT_accessibility (DW_ACCESS_public)
0x000001c6: DW_TAG_formal_parameter
DW_AT_type (0x0000074c "const coroutine_handle<void>*")
DW_AT_artificial (true)
0x000001cb: NULL
0x000001cc: DW_TAG_subprogram
DW_AT_linkage_name ("_ZNKSt12experimental13coroutines_v116coroutine_handleIvEcvbEv")
DW_AT_name ("operator bool")
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/experimental/coroutine")
DW_AT_decl_line (110)
DW_AT_type (0x00000756 "bool")
DW_AT_declaration (true)
DW_AT_external (true)
DW_AT_accessibility (DW_ACCESS_public)
DW_AT_explicit (true)
0x000001dc: DW_TAG_formal_parameter
DW_AT_type (0x0000074c "const coroutine_handle<void>*")
DW_AT_artificial (true)
0x000001e1: NULL
0x000001e2: DW_TAG_subprogram
DW_AT_linkage_name ("_ZNSt12experimental13coroutines_v116coroutine_handleIvEclEv")
DW_AT_name ("operator()")
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/experimental/coroutine")
DW_AT_decl_line (113)
DW_AT_declaration (true)
DW_AT_external (true)
DW_AT_accessibility (DW_ACCESS_public)
0x000001ee: DW_TAG_formal_parameter
DW_AT_type (0x0000073d "coroutine_handle<void>*")
DW_AT_artificial (true)
0x000001f3: NULL
0x000001f4: DW_TAG_subprogram
DW_AT_linkage_name ("_ZNSt12experimental13coroutines_v116coroutine_handleIvE6resumeEv")
DW_AT_name ("resume")
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/experimental/coroutine")
DW_AT_decl_line (116)
DW_AT_declaration (true)
DW_AT_external (true)
DW_AT_accessibility (DW_ACCESS_public)
0x00000200: DW_TAG_formal_parameter
DW_AT_type (0x0000073d "coroutine_handle<void>*")
DW_AT_artificial (true)
0x00000205: NULL
0x00000206: DW_TAG_subprogram
DW_AT_linkage_name ("_ZNSt12experimental13coroutines_v116coroutine_handleIvE7destroyEv")
DW_AT_name ("destroy")
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/experimental/coroutine")
DW_AT_decl_line (125)
DW_AT_declaration (true)
DW_AT_external (true)
DW_AT_accessibility (DW_ACCESS_public)
0x00000212: DW_TAG_formal_parameter
DW_AT_type (0x0000073d "coroutine_handle<void>*")
DW_AT_artificial (true)
0x00000217: NULL
0x00000218: DW_TAG_subprogram
DW_AT_linkage_name ("_ZNKSt12experimental13coroutines_v116coroutine_handleIvE4doneEv")
DW_AT_name ("done")
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/experimental/coroutine")
DW_AT_decl_line (132)
DW_AT_type (0x00000756 "bool")
DW_AT_declaration (true)
DW_AT_external (true)
DW_AT_accessibility (DW_ACCESS_public)
0x00000228: DW_TAG_formal_parameter
DW_AT_type (0x0000074c "const coroutine_handle<void>*")
DW_AT_artificial (true)
0x0000022d: NULL
0x0000022e: DW_TAG_subprogram
DW_AT_linkage_name ("_ZNSt12experimental13coroutines_v116coroutine_handleIvE12from_addressEPv")
DW_AT_name ("from_address")
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/experimental/coroutine")
DW_AT_decl_line (140)
DW_AT_type (0x00000165 "coroutine_handle<void>")
DW_AT_declaration (true)
DW_AT_external (true)
DW_AT_accessibility (DW_ACCESS_public)
0x0000023e: DW_TAG_formal_parameter
DW_AT_type (0x0000073c "*")
0x00000243: NULL
0x00000244: DW_TAG_subprogram
DW_AT_linkage_name ("_ZNSt12experimental13coroutines_v116coroutine_handleIvE12from_addressEDn")
DW_AT_name ("from_address")
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/experimental/coroutine")
DW_AT_decl_line (148)
DW_AT_type (0x00000165 "coroutine_handle<void>")
DW_AT_declaration (true)
DW_AT_external (true)
DW_AT_accessibility (DW_ACCESS_public)
0x00000254: DW_TAG_formal_parameter
DW_AT_type (0x0000030b "nullptr_t")
0x00000259: NULL
0x0000025a: DW_TAG_subprogram
DW_AT_linkage_name ("_ZNKSt12experimental13coroutines_v116coroutine_handleIvE14__is_suspendedEv")
DW_AT_name ("__is_suspended")
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/experimental/coroutine")
DW_AT_decl_line (160)
DW_AT_type (0x00000756 "bool")
DW_AT_declaration (true)
DW_AT_external (true)
0x00000269: DW_TAG_formal_parameter
DW_AT_type (0x0000074c "const coroutine_handle<void>*")
DW_AT_artificial (true)
0x0000026e: NULL
0x0000026f: DW_TAG_template_type_parameter
DW_AT_name ("_Promise")
0x00000274: NULL
0x00000275: DW_TAG_structure_type
DW_AT_calling_convention (DW_CC_pass_by_value)
DW_AT_name ("suspend_never")
DW_AT_byte_size (0x01)
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/experimental/coroutine")
DW_AT_decl_line (300)
0x0000027f: DW_TAG_subprogram
DW_AT_linkage_name ("_ZNKSt12experimental13coroutines_v113suspend_never11await_readyEv")
DW_AT_name ("await_ready")
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/experimental/coroutine")
DW_AT_decl_line (302)
DW_AT_type (0x00000756 "bool")
DW_AT_declaration (true)
DW_AT_external (true)
0x0000028f: DW_TAG_formal_parameter
DW_AT_type (0x00000771 "const suspend_never*")
DW_AT_artificial (true)
0x00000294: NULL
0x00000295: DW_TAG_subprogram
DW_AT_linkage_name ("_ZNKSt12experimental13coroutines_v113suspend_never13await_suspendENS0_16coroutine_handleIvEE")
DW_AT_name ("await_suspend")
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/experimental/coroutine")
DW_AT_decl_line (304)
DW_AT_declaration (true)
DW_AT_external (true)
0x000002a1: DW_TAG_formal_parameter
DW_AT_type (0x00000771 "const suspend_never*")
DW_AT_artificial (true)
0x000002a6: DW_TAG_formal_parameter
DW_AT_type (0x00000165 "coroutine_handle<void>")
0x000002ab: NULL
0x000002ac: DW_TAG_subprogram
DW_AT_linkage_name ("_ZNKSt12experimental13coroutines_v113suspend_never12await_resumeEv")
DW_AT_name ("await_resume")
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/experimental/coroutine")
DW_AT_decl_line (306)
DW_AT_declaration (true)
DW_AT_external (true)
0x000002b8: DW_TAG_formal_parameter
DW_AT_type (0x00000771 "const suspend_never*")
DW_AT_artificial (true)
0x000002bd: NULL
0x000002be: NULL
0x000002bf: DW_TAG_structure_type
DW_AT_calling_convention (DW_CC_pass_by_value)
DW_AT_name ("suspend_always")
DW_AT_byte_size (0x01)
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/experimental/coroutine")
DW_AT_decl_line (309)
0x000002c9: DW_TAG_subprogram
DW_AT_linkage_name ("_ZNKSt12experimental13coroutines_v114suspend_always11await_readyEv")
DW_AT_name ("await_ready")
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/experimental/coroutine")
DW_AT_decl_line (311)
DW_AT_type (0x00000756 "bool")
DW_AT_declaration (true)
DW_AT_external (true)
0x000002d9: DW_TAG_formal_parameter
DW_AT_type (0x00001528 "const suspend_always*")
DW_AT_artificial (true)
0x000002de: NULL
0x000002df: DW_TAG_subprogram
DW_AT_linkage_name ("_ZNKSt12experimental13coroutines_v114suspend_always13await_suspendENS0_16coroutine_handleIvEE")
DW_AT_name ("await_suspend")
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/experimental/coroutine")
DW_AT_decl_line (313)
DW_AT_declaration (true)
DW_AT_external (true)
0x000002eb: DW_TAG_formal_parameter
DW_AT_type (0x00001528 "const suspend_always*")
DW_AT_artificial (true)
0x000002f0: DW_TAG_formal_parameter
DW_AT_type (0x00000165 "coroutine_handle<void>")
0x000002f5: NULL
0x000002f6: DW_TAG_subprogram
DW_AT_linkage_name ("_ZNKSt12experimental13coroutines_v114suspend_always12await_resumeEv")
DW_AT_name ("await_resume")
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/experimental/coroutine")
DW_AT_decl_line (315)
DW_AT_declaration (true)
DW_AT_external (true)
0x00000302: DW_TAG_formal_parameter
DW_AT_type (0x00001528 "const suspend_always*")
DW_AT_artificial (true)
0x00000307: NULL
0x00000308: NULL
0x00000309: NULL
0x0000030a: NULL
0x0000030b: DW_TAG_typedef
DW_AT_type (0x00000742 "decltype(nullptr)")
DW_AT_name ("nullptr_t")
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/__nullptr")
DW_AT_decl_line (56)
0x00000316: DW_TAG_namespace
DW_AT_name ("__1")
DW_AT_export_symbols (true)
0x0000031b: DW_TAG_imported_declaration
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/cstdio")
DW_AT_decl_line (107)
DW_AT_import (0x0000078a)
0x00000322: DW_TAG_imported_declaration
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/cstdio")
DW_AT_decl_line (108)
DW_AT_import (0x0000079a)
0x00000329: DW_TAG_imported_declaration
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/cstdio")
DW_AT_decl_line (109)
DW_AT_import (0x000007b5)
0x00000330: DW_TAG_imported_declaration
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/cstdio")
DW_AT_decl_line (111)
DW_AT_import (0x000007c7)
0x00000337: DW_TAG_imported_declaration
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/cstdio")
DW_AT_decl_line (112)
DW_AT_import (0x000007e4)
0x0000033e: DW_TAG_imported_declaration
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/cstdio")
DW_AT_decl_line (113)
DW_AT_import (0x000007f5)
0x00000345: DW_TAG_imported_declaration
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/cstdio")
DW_AT_decl_line (114)
DW_AT_import (0x0000081e)
0x0000034c: DW_TAG_imported_declaration
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/cstdio")
DW_AT_decl_line (115)
DW_AT_import (0x0000083f)
0x00000353: DW_TAG_imported_declaration
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/cstdio")
DW_AT_decl_line (116)
DW_AT_import (0x00000866)
0x0000035a: DW_TAG_imported_declaration
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/cstdio")
DW_AT_decl_line (117)
DW_AT_import (0x00000882)
0x00000361: DW_TAG_imported_declaration
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/cstdio")
DW_AT_decl_line (118)
DW_AT_import (0x0000089f)
0x00000368: DW_TAG_imported_declaration
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/cstdio")
DW_AT_decl_line (119)
DW_AT_import (0x000008b7)
0x0000036f: DW_TAG_imported_declaration
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/cstdio")
DW_AT_decl_line (120)
DW_AT_import (0x000008d3)
0x00000376: DW_TAG_imported_declaration
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/cstdio")
DW_AT_decl_line (121)
DW_AT_import (0x000008f9)
0x0000037d: DW_TAG_imported_declaration
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/cstdio")
DW_AT_decl_line (122)
DW_AT_import (0x00000919)
0x00000384: DW_TAG_imported_declaration
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/cstdio")
DW_AT_decl_line (123)
DW_AT_import (0x00000939)
0x0000038b: DW_TAG_imported_declaration
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/cstdio")
DW_AT_decl_line (124)
DW_AT_import (0x0000095a)
0x00000392: DW_TAG_imported_declaration
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/cstdio")
DW_AT_decl_line (125)
DW_AT_import (0x00000976)
0x00000399: DW_TAG_imported_declaration
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/cstdio")
DW_AT_decl_line (126)
DW_AT_import (0x00000988)
0x000003a0: DW_TAG_imported_declaration
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/cstdio")
DW_AT_decl_line (127)
DW_AT_import (0x000009a4)
0x000003a7: DW_TAG_imported_declaration
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/cstdio")
DW_AT_decl_line (128)
DW_AT_import (0x000009bb)
0x000003ae: DW_TAG_imported_declaration
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/cstdio")
DW_AT_decl_line (129)
DW_AT_import (0x000009d2)
0x000003b5: DW_TAG_imported_declaration
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/cstdio")
DW_AT_decl_line (130)
DW_AT_import (0x000009e4)
0x000003bc: DW_TAG_imported_declaration
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/cstdio")
DW_AT_decl_line (131)
DW_AT_import (0x000009fb)
0x000003c3: DW_TAG_imported_declaration
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/cstdio")
DW_AT_decl_line (132)
DW_AT_import (0x00000a12)
0x000003ca: DW_TAG_imported_declaration
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/cstdio")
DW_AT_decl_line (133)
DW_AT_import (0x00000a38)
0x000003d1: DW_TAG_imported_declaration
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/cstdio")
DW_AT_decl_line (134)
DW_AT_import (0x00000a64)
0x000003d8: DW_TAG_imported_declaration
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/cstdio")
DW_AT_decl_line (135)
DW_AT_import (0x00000a85)
0x000003df: DW_TAG_imported_declaration
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/cstdio")
DW_AT_decl_line (136)
DW_AT_import (0x00000aa8)
0x000003e6: DW_TAG_imported_declaration
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/cstdio")
DW_AT_decl_line (137)
DW_AT_import (0x00000ac9)
0x000003ed: DW_TAG_imported_declaration
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/cstdio")
DW_AT_decl_line (138)
DW_AT_import (0x00000adb)
0x000003f4: DW_TAG_imported_declaration
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/cstdio")
DW_AT_decl_line (139)
DW_AT_import (0x00000ae9)
0x000003fb: DW_TAG_imported_declaration
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/cstdio")
DW_AT_decl_line (140)
DW_AT_import (0x00000af7)
0x00000402: DW_TAG_imported_declaration
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/cstdio")
DW_AT_decl_line (141)
DW_AT_import (0x00000b09)
0x00000409: DW_TAG_imported_declaration
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/cstdio")
DW_AT_decl_line (142)
DW_AT_import (0x00000b1b)
0x00000410: DW_TAG_imported_declaration
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/cstdio")
DW_AT_decl_line (145)
DW_AT_import (0x00000b29)
0x00000417: DW_TAG_imported_declaration
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/cstdio")
DW_AT_decl_line (146)
DW_AT_import (0x00000b3f)
0x0000041e: DW_TAG_imported_declaration
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/cstdio")
DW_AT_decl_line (147)
DW_AT_import (0x00000b5a)
0x00000425: DW_TAG_imported_declaration
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/cstdio")
DW_AT_decl_line (148)
DW_AT_import (0x00000b6b)
0x0000042c: DW_TAG_imported_declaration
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/cstdio")
DW_AT_decl_line (149)
DW_AT_import (0x00000b81)
0x00000433: DW_TAG_imported_declaration
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/cstdio")
DW_AT_decl_line (150)
DW_AT_import (0x00000b8c)
0x0000043a: DW_TAG_imported_declaration
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/cstdio")
DW_AT_decl_line (154)
DW_AT_import (0x00000b9d)
0x00000441: DW_TAG_imported_declaration
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/cstdio")
DW_AT_decl_line (158)
DW_AT_import (0x00000ba9)
0x00000448: DW_TAG_imported_declaration
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/cstdio")
DW_AT_decl_line (159)
DW_AT_import (0x00000bc0)
0x0000044f: DW_TAG_imported_declaration
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/cstdio")
DW_AT_decl_line (163)
DW_AT_import (0x00000bdb)
0x00000456: DW_TAG_imported_declaration
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/cstdio")
DW_AT_decl_line (164)
DW_AT_import (0x00000bee)
0x0000045d: DW_TAG_imported_declaration
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/cstdio")
DW_AT_decl_line (165)
DW_AT_import (0x00000c00)
0x00000464: DW_TAG_imported_declaration
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/cstdio")
DW_AT_decl_line (166)
DW_AT_import (0x00000c12)
0x0000046b: DW_TAG_imported_declaration
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/cstddef")
DW_AT_decl_line (49)
DW_AT_import (0x00000c29)
0x00000472: DW_TAG_imported_declaration
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/cstddef")
DW_AT_decl_line (50)
DW_AT_import (0x000007b5)
0x00000479: DW_TAG_imported_declaration
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/cstddef")
DW_AT_decl_line (55)
DW_AT_import (0x00000c34)
0x00000480: DW_TAG_imported_declaration
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/cstdlib")
DW_AT_decl_line (99)
DW_AT_import (0x000007b5)
0x00000487: DW_TAG_imported_declaration
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/cstdlib")
DW_AT_decl_line (100)
DW_AT_import (0x00000c40)
0x0000048e: DW_TAG_imported_declaration
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/cstdlib")
DW_AT_decl_line (101)
DW_AT_import (0x00000c4c)
0x00000495: DW_TAG_imported_declaration
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/cstdlib")
DW_AT_decl_line (103)
DW_AT_import (0x00000c75)
0x0000049c: DW_TAG_imported_declaration
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/cstdlib")
DW_AT_decl_line (105)
DW_AT_import (0x00000ca5)
0x000004a3: DW_TAG_imported_declaration
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/cstdlib")
DW_AT_decl_line (106)
DW_AT_import (0x00000cbd)
0x000004aa: DW_TAG_imported_declaration
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/cstdlib")
DW_AT_decl_line (107)
DW_AT_import (0x00000cce)
0x000004b1: DW_TAG_imported_declaration
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/cstdlib")
DW_AT_decl_line (109)
DW_AT_import (0x00000cdf)
0x000004b8: DW_TAG_imported_declaration
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/cstdlib")
DW_AT_decl_line (111)
DW_AT_import (0x00000cf0)
0x000004bf: DW_TAG_imported_declaration
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/cstdlib")
DW_AT_decl_line (112)
DW_AT_import (0x00000d10)
0x000004c6: DW_TAG_imported_declaration
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/cstdlib")
DW_AT_decl_line (113)
DW_AT_import (0x00000d2d)
0x000004cd: DW_TAG_imported_declaration
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/cstdlib")
DW_AT_decl_line (114)
DW_AT_import (0x00000d4a)
0x000004d4: DW_TAG_imported_declaration
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/cstdlib")
DW_AT_decl_line (116)
DW_AT_import (0x00000d65)
0x000004db: DW_TAG_imported_declaration
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/cstdlib")
DW_AT_decl_line (118)
DW_AT_import (0x00000d80)
0x000004e2: DW_TAG_imported_declaration
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/cstdlib")
DW_AT_decl_line (120)
DW_AT_import (0x00000d9b)
0x000004e9: DW_TAG_imported_declaration
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/cstdlib")
DW_AT_decl_line (122)
DW_AT_import (0x00000dbd)
0x000004f0: DW_TAG_imported_declaration
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/cstdlib")
DW_AT_decl_line (123)
DW_AT_import (0x00000dc9)
0x000004f7: DW_TAG_imported_declaration
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/cstdlib")
DW_AT_decl_line (124)
DW_AT_import (0x00000dde)
0x000004fe: DW_TAG_imported_declaration
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/cstdlib")
DW_AT_decl_line (125)
DW_AT_import (0x00000df5)
0x00000505: DW_TAG_imported_declaration
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/cstdlib")
DW_AT_decl_line (126)
DW_AT_import (0x00000e03)
0x0000050c: DW_TAG_imported_declaration
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/cstdlib")
DW_AT_decl_line (127)
DW_AT_import (0x00000e15)
0x00000513: DW_TAG_imported_declaration
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/cstdlib")
DW_AT_decl_line (128)
DW_AT_import (0x00000e2c)
0x0000051a: DW_TAG_imported_declaration
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/cstdlib")
DW_AT_decl_line (129)
DW_AT_import (0x00000e34)
0x00000521: DW_TAG_imported_declaration
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/cstdlib")
DW_AT_decl_line (130)
DW_AT_import (0x00000e4c)
0x00000528: DW_TAG_imported_declaration
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/cstdlib")
DW_AT_decl_line (131)
DW_AT_import (0x00000e5a)
0x0000052f: DW_TAG_imported_declaration
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/cstdlib")
DW_AT_decl_line (133)
DW_AT_import (0x00000e68)
0x00000536: DW_TAG_imported_declaration
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/cstdlib")
DW_AT_decl_line (134)
DW_AT_import (0x00000e7a)
0x0000053d: DW_TAG_imported_declaration
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/cstdlib")
DW_AT_decl_line (136)
DW_AT_import (0x00000e8c)
0x00000544: DW_TAG_imported_declaration
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/cstdlib")
DW_AT_decl_line (137)
DW_AT_import (0x00000ed3)
0x0000054b: DW_TAG_imported_declaration
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/cstdlib")
DW_AT_decl_line (138)
DW_AT_import (0x00000ef0)
0x00000552: DW_TAG_imported_declaration
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/cstdlib")
DW_AT_decl_line (139)
DW_AT_import (0x00000f06)
0x00000559: DW_TAG_imported_declaration
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/cstdlib")
DW_AT_decl_line (141)
DW_AT_import (0x00000f18)
0x00000560: DW_TAG_imported_declaration
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/cstdlib")
DW_AT_decl_line (143)
DW_AT_import (0x00000f2a)
0x00000567: DW_TAG_imported_declaration
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/cstdlib")
DW_AT_decl_line (144)
DW_AT_import (0x00000f45)
0x0000056e: DW_TAG_imported_declaration
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/cstdlib")
DW_AT_decl_line (146)
DW_AT_import (0x00000f5c)
0x00000575: DW_TAG_imported_declaration
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/cstdlib")
DW_AT_decl_line (148)
DW_AT_import (0x00000f73)
0x0000057c: DW_TAG_imported_declaration
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/cstdlib")
DW_AT_decl_line (149)
DW_AT_import (0x00000f8a)
0x00000583: DW_TAG_imported_declaration
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/cstdlib")
DW_AT_decl_line (150)
DW_AT_import (0x00000fb7)
0x0000058a: DW_TAG_imported_declaration
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/cstdlib")
DW_AT_decl_line (151)
DW_AT_import (0x00000fce)
0x00000591: DW_TAG_imported_declaration
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/cstdlib")
DW_AT_decl_line (152)
DW_AT_import (0x00000fea)
0x00000598: DW_TAG_imported_declaration
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/cstdlib")
DW_AT_decl_line (154)
DW_AT_import (0x00001015)
0x0000059f: DW_TAG_imported_declaration
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/cstdlib")
DW_AT_decl_line (155)
DW_AT_import (0x00001027)
0x000005a6: DW_TAG_imported_declaration
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/cstdlib")
DW_AT_decl_line (158)
DW_AT_import (0x00001035)
0x000005ad: DW_TAG_imported_declaration
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/cstdint")
DW_AT_decl_line (152)
DW_AT_import (0x0000104c)
0x000005b4: DW_TAG_imported_declaration
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/cstdint")
DW_AT_decl_line (153)
DW_AT_import (0x00001069)
0x000005bb: DW_TAG_imported_declaration
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/cstdint")
DW_AT_decl_line (154)
DW_AT_import (0x00001086)
0x000005c2: DW_TAG_imported_declaration
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/cstdint")
DW_AT_decl_line (155)
DW_AT_import (0x0000109c)
0x000005c9: DW_TAG_imported_declaration
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/cstdint")
DW_AT_decl_line (157)
DW_AT_import (0x000010b2)
0x000005d0: DW_TAG_imported_declaration
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/cstdint")
DW_AT_decl_line (158)
DW_AT_import (0x000010cf)
0x000005d7: DW_TAG_imported_declaration
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/cstdint")
DW_AT_decl_line (159)
DW_AT_import (0x000010ec)
0x000005de: DW_TAG_imported_declaration
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/cstdint")
DW_AT_decl_line (160)
DW_AT_import (0x00001102)
0x000005e5: DW_TAG_imported_declaration
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/cstdint")
DW_AT_decl_line (162)
DW_AT_import (0x00001118)
0x000005ec: DW_TAG_imported_declaration
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/cstdint")
DW_AT_decl_line (163)
DW_AT_import (0x0000112e)
0x000005f3: DW_TAG_imported_declaration
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/cstdint")
DW_AT_decl_line (164)
DW_AT_import (0x00001144)
0x000005fa: DW_TAG_imported_declaration
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/cstdint")
DW_AT_decl_line (165)
DW_AT_import (0x0000115a)
0x00000601: DW_TAG_imported_declaration
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/cstdint")
DW_AT_decl_line (167)
DW_AT_import (0x00001170)
0x00000608: DW_TAG_imported_declaration
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/cstdint")
DW_AT_decl_line (168)
DW_AT_import (0x00001186)
0x0000060f: DW_TAG_imported_declaration
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/cstdint")
DW_AT_decl_line (169)
DW_AT_import (0x0000119c)
0x00000616: DW_TAG_imported_declaration
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/cstdint")
DW_AT_decl_line (170)
DW_AT_import (0x000011b2)
0x0000061d: DW_TAG_imported_declaration
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/cstdint")
DW_AT_decl_line (172)
DW_AT_import (0x000011c8)
0x00000624: DW_TAG_imported_declaration
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/cstdint")
DW_AT_decl_line (173)
DW_AT_import (0x000011d3)
0x0000062b: DW_TAG_imported_declaration
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/cstdint")
DW_AT_decl_line (174)
DW_AT_import (0x000011de)
0x00000632: DW_TAG_imported_declaration
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/cstdint")
DW_AT_decl_line (175)
DW_AT_import (0x000011e9)
0x00000639: DW_TAG_imported_declaration
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/cstdint")
DW_AT_decl_line (177)
DW_AT_import (0x000011f4)
0x00000640: DW_TAG_imported_declaration
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/cstdint")
DW_AT_decl_line (178)
DW_AT_import (0x000011ff)
0x00000647: DW_TAG_imported_declaration
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/cstdint")
DW_AT_decl_line (179)
DW_AT_import (0x0000120a)
0x0000064e: DW_TAG_imported_declaration
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/cstdint")
DW_AT_decl_line (180)
DW_AT_import (0x00001215)
0x00000655: DW_TAG_imported_declaration
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/cstdint")
DW_AT_decl_line (182)
DW_AT_import (0x00001220)
0x0000065c: DW_TAG_imported_declaration
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/cstdint")
DW_AT_decl_line (183)
DW_AT_import (0x0000122b)
0x00000663: DW_TAG_imported_declaration
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/cstdint")
DW_AT_decl_line (185)
DW_AT_import (0x00001236)
0x0000066a: DW_TAG_imported_declaration
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/cstdint")
DW_AT_decl_line (186)
DW_AT_import (0x0000124c)
0x00000671: DW_TAG_imported_declaration
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/cstring")
DW_AT_decl_line (68)
DW_AT_import (0x000007b5)
0x00000678: DW_TAG_imported_declaration
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/cstring")
DW_AT_decl_line (69)
DW_AT_import (0x00001262)
0x0000067f: DW_TAG_imported_declaration
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/cstring")
DW_AT_decl_line (70)
DW_AT_import (0x0000127d)
0x00000686: DW_TAG_imported_declaration
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/cstring")
DW_AT_decl_line (71)
DW_AT_import (0x00001298)
0x0000068d: DW_TAG_imported_declaration
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/cstring")
DW_AT_decl_line (72)
DW_AT_import (0x000012ae)
0x00000694: DW_TAG_imported_declaration
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/cstring")
DW_AT_decl_line (73)
DW_AT_import (0x000012c9)
0x0000069b: DW_TAG_imported_declaration
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/cstring")
DW_AT_decl_line (74)
DW_AT_import (0x000012df)
0x000006a2: DW_TAG_imported_declaration
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/cstring")
DW_AT_decl_line (75)
DW_AT_import (0x000012fa)
0x000006a9: DW_TAG_imported_declaration
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/cstring")
DW_AT_decl_line (76)
DW_AT_import (0x00001315)
0x000006b0: DW_TAG_imported_declaration
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/cstring")
DW_AT_decl_line (77)
DW_AT_import (0x0000132b)
0x000006b7: DW_TAG_imported_declaration
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/cstring")
DW_AT_decl_line (78)
DW_AT_import (0x00001346)
0x000006be: DW_TAG_imported_declaration
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/cstring")
DW_AT_decl_line (79)
DW_AT_import (0x0000135c)
0x000006c5: DW_TAG_imported_declaration
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/cstring")
DW_AT_decl_line (80)
DW_AT_import (0x00001377)
0x000006cc: DW_TAG_imported_declaration
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/cstring")
DW_AT_decl_line (81)
DW_AT_import (0x00001396)
0x000006d3: DW_TAG_imported_declaration
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/cstring")
DW_AT_decl_line (82)
DW_AT_import (0x000013b0)
0x000006da: DW_TAG_imported_declaration
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/cstring")
DW_AT_decl_line (83)
DW_AT_import (0x000013c7)
0x000006e1: DW_TAG_imported_declaration
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/cstring")
DW_AT_decl_line (84)
DW_AT_import (0x000013e1)
0x000006e8: DW_TAG_imported_declaration
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/cstring")
DW_AT_decl_line (85)
DW_AT_import (0x000013fb)
0x000006ef: DW_TAG_imported_declaration
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/cstring")
DW_AT_decl_line (86)
DW_AT_import (0x00001412)
0x000006f6: DW_TAG_imported_declaration
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/cstring")
DW_AT_decl_line (88)
DW_AT_import (0x0000142c)
0x000006fd: DW_TAG_imported_declaration
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/cstring")
DW_AT_decl_line (90)
DW_AT_import (0x00001443)
0x00000704: DW_TAG_imported_declaration
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/cstring")
DW_AT_decl_line (91)
DW_AT_import (0x0000145e)
0x0000070b: DW_TAG_imported_declaration
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/cstring")
DW_AT_decl_line (92)
DW_AT_import (0x00001470)
0x00000712: DW_TAG_subprogram
DW_AT_low_pc (0x0000000000202ca0)
DW_AT_high_pc (0x0000000000202cae)
DW_AT_frame_base (DW_OP_reg6 RBP)
DW_AT_linkage_name ("_ZNSt3__19addressofIN4coro12promise_typeEEEPT_RS3_")
DW_AT_name ("addressof<coro::promise_type>")
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/type_traits")
DW_AT_decl_line (591)
DW_AT_type (0x000016ed "promise_type*")
DW_AT_external (true)
0x00000730: DW_TAG_template_type_parameter
DW_AT_type (0x0000003f "promise_type")
DW_AT_name ("_Tp")
0x00000739: NULL
0x0000073a: NULL
0x0000073b: NULL
0x0000073c: DW_TAG_pointer_type
0x0000073d: DW_TAG_pointer_type
DW_AT_type (0x00000165 "coroutine_handle<void>")
0x00000742: DW_TAG_unspecified_type
DW_AT_name ("decltype(nullptr)")
0x00000747: DW_TAG_reference_type
DW_AT_type (0x00000165 "coroutine_handle<void>")
0x0000074c: DW_TAG_pointer_type
DW_AT_type (0x00000751 "const coroutine_handle<void>")
0x00000751: DW_TAG_const_type
DW_AT_type (0x00000165 "coroutine_handle<void>")
0x00000756: DW_TAG_base_type
DW_AT_name ("bool")
DW_AT_encoding (DW_ATE_boolean)
DW_AT_byte_size (0x01)
0x0000075d: DW_TAG_reference_type
DW_AT_type (0x000000cc "coroutine_handle<coro::promise_type>")
0x00000762: DW_TAG_pointer_type
DW_AT_type (0x000000cc "coroutine_handle<coro::promise_type>")
0x00000767: DW_TAG_reference_type
DW_AT_type (0x0000003f "promise_type")
0x0000076c: DW_TAG_pointer_type
DW_AT_type (0x0000003f "promise_type")
0x00000771: DW_TAG_pointer_type
DW_AT_type (0x00000776 "const suspend_never")
0x00000776: DW_TAG_const_type
DW_AT_type (0x00000275 "suspend_never")
0x0000077b: DW_TAG_pointer_type
DW_AT_type (0x00000780 "const coroutine_handle<coro::promise_type>")
0x00000780: DW_TAG_const_type
DW_AT_type (0x000000cc "coroutine_handle<coro::promise_type>")
0x00000785: DW_TAG_pointer_type
DW_AT_type (0x0000002a "coro")
0x0000078a: DW_TAG_typedef
DW_AT_type (0x00000795 "_IO_FILE")
DW_AT_name ("FILE")
DW_AT_decl_file ("/usr/include/x86_64-linux-gnu/bits/types/FILE.h")
DW_AT_decl_line (7)
0x00000795: DW_TAG_structure_type
DW_AT_name ("_IO_FILE")
DW_AT_declaration (true)
0x0000079a: DW_TAG_typedef
DW_AT_type (0x000007a5 "__fpos_t")
DW_AT_name ("fpos_t")
DW_AT_decl_file ("/usr/include/stdio.h")
DW_AT_decl_line (84)
0x000007a5: DW_TAG_typedef
DW_AT_type (0x000007b0 "_G_fpos_t")
DW_AT_name ("__fpos_t")
DW_AT_decl_file ("/usr/include/x86_64-linux-gnu/bits/types/__fpos_t.h")
DW_AT_decl_line (14)
0x000007b0: DW_TAG_structure_type
DW_AT_name ("_G_fpos_t")
DW_AT_declaration (true)
0x000007b5: DW_TAG_typedef
DW_AT_type (0x000007c0 "long unsigned int")
DW_AT_name ("size_t")
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/lib/clang/11.0.0/include/stddef.h")
DW_AT_decl_line (46)
0x000007c0: DW_TAG_base_type
DW_AT_name ("long unsigned int")
DW_AT_encoding (DW_ATE_unsigned)
DW_AT_byte_size (0x08)
0x000007c7: DW_TAG_subprogram
DW_AT_name ("fclose")
DW_AT_decl_file ("/usr/include/stdio.h")
DW_AT_decl_line (213)
DW_AT_type (0x000007d8 "int")
DW_AT_declaration (true)
DW_AT_external (true)
0x000007d2: DW_TAG_formal_parameter
DW_AT_type (0x000007df "FILE*")
0x000007d7: NULL
0x000007d8: DW_TAG_base_type
DW_AT_name ("int")
DW_AT_encoding (DW_ATE_signed)
DW_AT_byte_size (0x04)
0x000007df: DW_TAG_pointer_type
DW_AT_type (0x0000078a "FILE")
0x000007e4: DW_TAG_subprogram
DW_AT_name ("fflush")
DW_AT_decl_file ("/usr/include/stdio.h")
DW_AT_decl_line (218)
DW_AT_type (0x000007d8 "int")
DW_AT_declaration (true)
DW_AT_external (true)
0x000007ef: DW_TAG_formal_parameter
DW_AT_type (0x000007df "FILE*")
0x000007f4: NULL
0x000007f5: DW_TAG_subprogram
DW_AT_name ("setbuf")
DW_AT_decl_file ("/usr/include/stdio.h")
DW_AT_decl_line (304)
DW_AT_declaration (true)
DW_AT_external (true)
0x000007fd: DW_TAG_formal_parameter
DW_AT_type (0x00000808 "restrict FILE*")
0x00000802: DW_TAG_formal_parameter
DW_AT_type (0x0000080d "restrict char*")
0x00000807: NULL
0x00000808: DW_TAG_restrict_type
DW_AT_type (0x000007df "FILE*")
0x0000080d: DW_TAG_restrict_type
DW_AT_type (0x00000812 "char*")
0x00000812: DW_TAG_pointer_type
DW_AT_type (0x00000817 "char")
0x00000817: DW_TAG_base_type
DW_AT_name ("char")
DW_AT_encoding (DW_ATE_signed_char)
DW_AT_byte_size (0x01)
0x0000081e: DW_TAG_subprogram
DW_AT_name ("setvbuf")
DW_AT_decl_file ("/usr/include/stdio.h")
DW_AT_decl_line (308)
DW_AT_type (0x000007d8 "int")
DW_AT_declaration (true)
DW_AT_external (true)
0x0000082a: DW_TAG_formal_parameter
DW_AT_type (0x00000808 "restrict FILE*")
0x0000082f: DW_TAG_formal_parameter
DW_AT_type (0x0000080d "restrict char*")
0x00000834: DW_TAG_formal_parameter
DW_AT_type (0x000007d8 "int")
0x00000839: DW_TAG_formal_parameter
DW_AT_type (0x000007b5 "size_t")
0x0000083e: NULL
0x0000083f: DW_TAG_subprogram
DW_AT_name ("fprintf")
DW_AT_decl_file ("/usr/include/stdio.h")
DW_AT_decl_line (326)
DW_AT_type (0x000007d8 "int")
DW_AT_declaration (true)
DW_AT_external (true)
0x0000084b: DW_TAG_formal_parameter
DW_AT_type (0x00000808 "restrict FILE*")
0x00000850: DW_TAG_formal_parameter
DW_AT_type (0x00000857 "restrict const char*")
0x00000855: DW_TAG_unspecified_parameters
0x00000856: NULL
0x00000857: DW_TAG_restrict_type
DW_AT_type (0x0000085c "const char*")
0x0000085c: DW_TAG_pointer_type
DW_AT_type (0x00000861 "const char")
0x00000861: DW_TAG_const_type
DW_AT_type (0x00000817 "char")
0x00000866: DW_TAG_subprogram
DW_AT_linkage_name ("__isoc99_fscanf")
DW_AT_name ("fscanf")
DW_AT_decl_file ("/usr/include/stdio.h")
DW_AT_decl_line (407)
DW_AT_type (0x000007d8 "int")
DW_AT_declaration (true)
DW_AT_external (true)
0x00000876: DW_TAG_formal_parameter
DW_AT_type (0x00000808 "restrict FILE*")
0x0000087b: DW_TAG_formal_parameter
DW_AT_type (0x00000857 "restrict const char*")
0x00000880: DW_TAG_unspecified_parameters
0x00000881: NULL
0x00000882: DW_TAG_subprogram
DW_AT_name ("snprintf")
DW_AT_decl_file ("/usr/include/stdio.h")
DW_AT_decl_line (354)
DW_AT_type (0x000007d8 "int")
DW_AT_declaration (true)
DW_AT_external (true)
0x0000088e: DW_TAG_formal_parameter
DW_AT_type (0x0000080d "restrict char*")
0x00000893: DW_TAG_formal_parameter
DW_AT_type (0x000007b5 "size_t")
0x00000898: DW_TAG_formal_parameter
DW_AT_type (0x00000857 "restrict const char*")
0x0000089d: DW_TAG_unspecified_parameters
0x0000089e: NULL
0x0000089f: DW_TAG_subprogram
DW_AT_name ("sprintf")
DW_AT_decl_file ("/usr/include/stdio.h")
DW_AT_decl_line (334)
DW_AT_type (0x000007d8 "int")
DW_AT_declaration (true)
DW_AT_external (true)
0x000008ab: DW_TAG_formal_parameter
DW_AT_type (0x0000080d "restrict char*")
0x000008b0: DW_TAG_formal_parameter
DW_AT_type (0x00000857 "restrict const char*")
0x000008b5: DW_TAG_unspecified_parameters
0x000008b6: NULL
0x000008b7: DW_TAG_subprogram
DW_AT_linkage_name ("__isoc99_sscanf")
DW_AT_name ("sscanf")
DW_AT_decl_file ("/usr/include/stdio.h")
DW_AT_decl_line (412)
DW_AT_type (0x000007d8 "int")
DW_AT_declaration (true)
DW_AT_external (true)
0x000008c7: DW_TAG_formal_parameter
DW_AT_type (0x00000857 "restrict const char*")
0x000008cc: DW_TAG_formal_parameter
DW_AT_type (0x00000857 "restrict const char*")
0x000008d1: DW_TAG_unspecified_parameters
0x000008d2: NULL
0x000008d3: DW_TAG_subprogram
DW_AT_name ("vfprintf")
DW_AT_decl_file ("/usr/include/stdio.h")
DW_AT_decl_line (341)
DW_AT_type (0x000007d8 "int")
DW_AT_declaration (true)
DW_AT_external (true)
0x000008df: DW_TAG_formal_parameter
DW_AT_type (0x00000808 "restrict FILE*")
0x000008e4: DW_TAG_formal_parameter
DW_AT_type (0x00000857 "restrict const char*")
0x000008e9: DW_TAG_formal_parameter
DW_AT_type (0x000008ef "__va_list_tag*")
0x000008ee: NULL
0x000008ef: DW_TAG_pointer_type
DW_AT_type (0x000008f4 "__va_list_tag")
0x000008f4: DW_TAG_structure_type
DW_AT_name ("__va_list_tag")
DW_AT_declaration (true)
0x000008f9: DW_TAG_subprogram
DW_AT_linkage_name ("__isoc99_vfscanf")
DW_AT_name ("vfscanf")
DW_AT_decl_file ("/usr/include/stdio.h")
DW_AT_decl_line (451)
DW_AT_type (0x000007d8 "int")
DW_AT_declaration (true)
DW_AT_external (true)
0x00000909: DW_TAG_formal_parameter
DW_AT_type (0x00000808 "restrict FILE*")
0x0000090e: DW_TAG_formal_parameter
DW_AT_type (0x00000857 "restrict const char*")
0x00000913: DW_TAG_formal_parameter
DW_AT_type (0x000008ef "__va_list_tag*")
0x00000918: NULL
0x00000919: DW_TAG_subprogram
DW_AT_linkage_name ("__isoc99_vsscanf")
DW_AT_name ("vsscanf")
DW_AT_decl_file ("/usr/include/stdio.h")
DW_AT_decl_line (459)
DW_AT_type (0x000007d8 "int")
DW_AT_declaration (true)
DW_AT_external (true)
0x00000929: DW_TAG_formal_parameter
DW_AT_type (0x00000857 "restrict const char*")
0x0000092e: DW_TAG_formal_parameter
DW_AT_type (0x00000857 "restrict const char*")
0x00000933: DW_TAG_formal_parameter
DW_AT_type (0x000008ef "__va_list_tag*")
0x00000938: NULL
0x00000939: DW_TAG_subprogram
DW_AT_name ("vsnprintf")
DW_AT_decl_file ("/usr/include/stdio.h")
DW_AT_decl_line (358)
DW_AT_type (0x000007d8 "int")
DW_AT_declaration (true)
DW_AT_external (true)
0x00000945: DW_TAG_formal_parameter
DW_AT_type (0x0000080d "restrict char*")
0x0000094a: DW_TAG_formal_parameter
DW_AT_type (0x000007b5 "size_t")
0x0000094f: DW_TAG_formal_parameter
DW_AT_type (0x00000857 "restrict const char*")
0x00000954: DW_TAG_formal_parameter
DW_AT_type (0x000008ef "__va_list_tag*")
0x00000959: NULL
0x0000095a: DW_TAG_subprogram
DW_AT_name ("vsprintf")
DW_AT_decl_file ("/usr/include/stdio.h")
DW_AT_decl_line (349)
DW_AT_type (0x000007d8 "int")
DW_AT_declaration (true)
DW_AT_external (true)
0x00000966: DW_TAG_formal_parameter
DW_AT_type (0x0000080d "restrict char*")
0x0000096b: DW_TAG_formal_parameter
DW_AT_type (0x00000857 "restrict const char*")
0x00000970: DW_TAG_formal_parameter
DW_AT_type (0x000008ef "__va_list_tag*")
0x00000975: NULL
0x00000976: DW_TAG_subprogram
DW_AT_name ("fgetc")
DW_AT_decl_file ("/usr/include/stdio.h")
DW_AT_decl_line (485)
DW_AT_type (0x000007d8 "int")
DW_AT_declaration (true)
DW_AT_external (true)
0x00000982: DW_TAG_formal_parameter
DW_AT_type (0x000007df "FILE*")
0x00000987: NULL
0x00000988: DW_TAG_subprogram
DW_AT_name ("fgets")
DW_AT_decl_file ("/usr/include/stdio.h")
DW_AT_decl_line (564)
DW_AT_type (0x00000812 "char*")
DW_AT_declaration (true)
DW_AT_external (true)
0x00000994: DW_TAG_formal_parameter
DW_AT_type (0x0000080d "restrict char*")
0x00000999: DW_TAG_formal_parameter
DW_AT_type (0x000007d8 "int")
0x0000099e: DW_TAG_formal_parameter
DW_AT_type (0x00000808 "restrict FILE*")
0x000009a3: NULL
0x000009a4: DW_TAG_subprogram
DW_AT_name ("fputc")
DW_AT_decl_file ("/usr/include/stdio.h")
DW_AT_decl_line (521)
DW_AT_type (0x000007d8 "int")
DW_AT_declaration (true)
DW_AT_external (true)
0x000009b0: DW_TAG_formal_parameter
DW_AT_type (0x000007d8 "int")
0x000009b5: DW_TAG_formal_parameter
DW_AT_type (0x000007df "FILE*")
0x000009ba: NULL
0x000009bb: DW_TAG_subprogram
DW_AT_name ("fputs")
DW_AT_decl_file ("/usr/include/stdio.h")
DW_AT_decl_line (626)
DW_AT_type (0x000007d8 "int")
DW_AT_declaration (true)
DW_AT_external (true)
0x000009c7: DW_TAG_formal_parameter
DW_AT_type (0x00000857 "restrict const char*")
0x000009cc: DW_TAG_formal_parameter
DW_AT_type (0x00000808 "restrict FILE*")
0x000009d1: NULL
0x000009d2: DW_TAG_subprogram
DW_AT_name ("getc")
DW_AT_decl_file ("/usr/include/stdio.h")
DW_AT_decl_line (486)
DW_AT_type (0x000007d8 "int")
DW_AT_declaration (true)
DW_AT_external (true)
0x000009de: DW_TAG_formal_parameter
DW_AT_type (0x000007df "FILE*")
0x000009e3: NULL
0x000009e4: DW_TAG_subprogram
DW_AT_name ("putc")
DW_AT_decl_file ("/usr/include/stdio.h")
DW_AT_decl_line (522)
DW_AT_type (0x000007d8 "int")
DW_AT_declaration (true)
DW_AT_external (true)
0x000009f0: DW_TAG_formal_parameter
DW_AT_type (0x000007d8 "int")
0x000009f5: DW_TAG_formal_parameter
DW_AT_type (0x000007df "FILE*")
0x000009fa: NULL
0x000009fb: DW_TAG_subprogram
DW_AT_name ("ungetc")
DW_AT_decl_file ("/usr/include/stdio.h")
DW_AT_decl_line (639)
DW_AT_type (0x000007d8 "int")
DW_AT_declaration (true)
DW_AT_external (true)
0x00000a07: DW_TAG_formal_parameter
DW_AT_type (0x000007d8 "int")
0x00000a0c: DW_TAG_formal_parameter
DW_AT_type (0x000007df "FILE*")
0x00000a11: NULL
0x00000a12: DW_TAG_subprogram
DW_AT_name ("fread")
DW_AT_decl_file ("/usr/include/stdio.h")
DW_AT_decl_line (646)
DW_AT_type (0x000007b5 "size_t")
DW_AT_declaration (true)
DW_AT_external (true)
0x00000a1e: DW_TAG_formal_parameter
DW_AT_type (0x00000a33 "restrict *")
0x00000a23: DW_TAG_formal_parameter
DW_AT_type (0x000007b5 "size_t")
0x00000a28: DW_TAG_formal_parameter
DW_AT_type (0x000007b5 "size_t")
0x00000a2d: DW_TAG_formal_parameter
DW_AT_type (0x00000808 "restrict FILE*")
0x00000a32: NULL
0x00000a33: DW_TAG_restrict_type
DW_AT_type (0x0000073c "*")
0x00000a38: DW_TAG_subprogram
DW_AT_name ("fwrite")
DW_AT_decl_file ("/usr/include/stdio.h")
DW_AT_decl_line (652)
DW_AT_type (0x000007b5 "size_t")
DW_AT_declaration (true)
DW_AT_external (true)
0x00000a44: DW_TAG_formal_parameter
DW_AT_type (0x00000a59 "restrict const *")
0x00000a49: DW_TAG_formal_parameter
DW_AT_type (0x000007b5 "size_t")
0x00000a4e: DW_TAG_formal_parameter
DW_AT_type (0x000007b5 "size_t")
0x00000a53: DW_TAG_formal_parameter
DW_AT_type (0x00000808 "restrict FILE*")
0x00000a58: NULL
0x00000a59: DW_TAG_restrict_type
DW_AT_type (0x00000a5e "const *")
0x00000a5e: DW_TAG_pointer_type
DW_AT_type (0x00000a63 "const ")
0x00000a63: DW_TAG_const_type
0x00000a64: DW_TAG_subprogram
DW_AT_name ("fgetpos")
DW_AT_decl_file ("/usr/include/stdio.h")
DW_AT_decl_line (731)
DW_AT_type (0x000007d8 "int")
DW_AT_declaration (true)
DW_AT_external (true)
0x00000a70: DW_TAG_formal_parameter
DW_AT_type (0x00000808 "restrict FILE*")
0x00000a75: DW_TAG_formal_parameter
DW_AT_type (0x00000a7b "restrict fpos_t*")
0x00000a7a: NULL
0x00000a7b: DW_TAG_restrict_type
DW_AT_type (0x00000a80 "fpos_t*")
0x00000a80: DW_TAG_pointer_type
DW_AT_type (0x0000079a "fpos_t")
0x00000a85: DW_TAG_subprogram
DW_AT_name ("fseek")
DW_AT_decl_file ("/usr/include/stdio.h")
DW_AT_decl_line (684)
DW_AT_type (0x000007d8 "int")
DW_AT_declaration (true)
DW_AT_external (true)
0x00000a91: DW_TAG_formal_parameter
DW_AT_type (0x000007df "FILE*")
0x00000a96: DW_TAG_formal_parameter
DW_AT_type (0x00000aa1 "long int")
0x00000a9b: DW_TAG_formal_parameter
DW_AT_type (0x000007d8 "int")
0x00000aa0: NULL
0x00000aa1: DW_TAG_base_type
DW_AT_name ("long int")
DW_AT_encoding (DW_ATE_signed)
DW_AT_byte_size (0x08)
0x00000aa8: DW_TAG_subprogram
DW_AT_name ("fsetpos")
DW_AT_decl_file ("/usr/include/stdio.h")
DW_AT_decl_line (736)
DW_AT_type (0x000007d8 "int")
DW_AT_declaration (true)
DW_AT_external (true)
0x00000ab4: DW_TAG_formal_parameter
DW_AT_type (0x000007df "FILE*")
0x00000ab9: DW_TAG_formal_parameter
DW_AT_type (0x00000abf "const fpos_t*")
0x00000abe: NULL
0x00000abf: DW_TAG_pointer_type
DW_AT_type (0x00000ac4 "const fpos_t")
0x00000ac4: DW_TAG_const_type
DW_AT_type (0x0000079a "fpos_t")
0x00000ac9: DW_TAG_subprogram
DW_AT_name ("ftell")
DW_AT_decl_file ("/usr/include/stdio.h")
DW_AT_decl_line (689)
DW_AT_type (0x00000aa1 "long int")
DW_AT_declaration (true)
DW_AT_external (true)
0x00000ad5: DW_TAG_formal_parameter
DW_AT_type (0x000007df "FILE*")
0x00000ada: NULL
0x00000adb: DW_TAG_subprogram
DW_AT_name ("rewind")
DW_AT_decl_file ("/usr/include/stdio.h")
DW_AT_decl_line (694)
DW_AT_declaration (true)
DW_AT_external (true)
0x00000ae3: DW_TAG_formal_parameter
DW_AT_type (0x000007df "FILE*")
0x00000ae8: NULL
0x00000ae9: DW_TAG_subprogram
DW_AT_name ("clearerr")
DW_AT_decl_file ("/usr/include/stdio.h")
DW_AT_decl_line (757)
DW_AT_declaration (true)
DW_AT_external (true)
0x00000af1: DW_TAG_formal_parameter
DW_AT_type (0x000007df "FILE*")
0x00000af6: NULL
0x00000af7: DW_TAG_subprogram
DW_AT_name ("feof")
DW_AT_decl_file ("/usr/include/stdio.h")
DW_AT_decl_line (759)
DW_AT_type (0x000007d8 "int")
DW_AT_declaration (true)
DW_AT_external (true)
0x00000b03: DW_TAG_formal_parameter
DW_AT_type (0x000007df "FILE*")
0x00000b08: NULL
0x00000b09: DW_TAG_subprogram
DW_AT_name ("ferror")
DW_AT_decl_file ("/usr/include/stdio.h")
DW_AT_decl_line (761)
DW_AT_type (0x000007d8 "int")
DW_AT_declaration (true)
DW_AT_external (true)
0x00000b15: DW_TAG_formal_parameter
DW_AT_type (0x000007df "FILE*")
0x00000b1a: NULL
0x00000b1b: DW_TAG_subprogram
DW_AT_name ("perror")
DW_AT_decl_file ("/usr/include/stdio.h")
DW_AT_decl_line (775)
DW_AT_declaration (true)
DW_AT_external (true)
0x00000b23: DW_TAG_formal_parameter
DW_AT_type (0x0000085c "const char*")
0x00000b28: NULL
0x00000b29: DW_TAG_subprogram
DW_AT_name ("fopen")
DW_AT_decl_file ("/usr/include/stdio.h")
DW_AT_decl_line (246)
DW_AT_type (0x000007df "FILE*")
DW_AT_declaration (true)
DW_AT_external (true)
0x00000b34: DW_TAG_formal_parameter
DW_AT_type (0x00000857 "restrict const char*")
0x00000b39: DW_TAG_formal_parameter
DW_AT_type (0x00000857 "restrict const char*")
0x00000b3e: NULL
0x00000b3f: DW_TAG_subprogram
DW_AT_name ("freopen")
DW_AT_decl_file ("/usr/include/stdio.h")
DW_AT_decl_line (252)
DW_AT_type (0x000007df "FILE*")
DW_AT_declaration (true)
DW_AT_external (true)
0x00000b4a: DW_TAG_formal_parameter
DW_AT_type (0x00000857 "restrict const char*")
0x00000b4f: DW_TAG_formal_parameter
DW_AT_type (0x00000857 "restrict const char*")
0x00000b54: DW_TAG_formal_parameter
DW_AT_type (0x00000808 "restrict FILE*")
0x00000b59: NULL
0x00000b5a: DW_TAG_subprogram
DW_AT_name ("remove")
DW_AT_decl_file ("/usr/include/stdio.h")
DW_AT_decl_line (146)
DW_AT_type (0x000007d8 "int")
DW_AT_declaration (true)
DW_AT_external (true)
0x00000b65: DW_TAG_formal_parameter
DW_AT_type (0x0000085c "const char*")
0x00000b6a: NULL
0x00000b6b: DW_TAG_subprogram
DW_AT_name ("rename")
DW_AT_decl_file ("/usr/include/stdio.h")
DW_AT_decl_line (148)
DW_AT_type (0x000007d8 "int")
DW_AT_declaration (true)
DW_AT_external (true)
0x00000b76: DW_TAG_formal_parameter
DW_AT_type (0x0000085c "const char*")
0x00000b7b: DW_TAG_formal_parameter
DW_AT_type (0x0000085c "const char*")
0x00000b80: NULL
0x00000b81: DW_TAG_subprogram
DW_AT_name ("tmpfile")
DW_AT_decl_file ("/usr/include/stdio.h")
DW_AT_decl_line (173)
DW_AT_type (0x000007df "FILE*")
DW_AT_declaration (true)
DW_AT_external (true)
0x00000b8c: DW_TAG_subprogram
DW_AT_name ("tmpnam")
DW_AT_decl_file ("/usr/include/stdio.h")
DW_AT_decl_line (187)
DW_AT_type (0x00000812 "char*")
DW_AT_declaration (true)
DW_AT_external (true)
0x00000b97: DW_TAG_formal_parameter
DW_AT_type (0x00000812 "char*")
0x00000b9c: NULL
0x00000b9d: DW_TAG_subprogram
DW_AT_name ("getchar")
DW_AT_decl_file ("/usr/include/stdio.h")
DW_AT_decl_line (492)
DW_AT_type (0x000007d8 "int")
DW_AT_declaration (true)
DW_AT_external (true)
0x00000ba9: DW_TAG_subprogram
DW_AT_linkage_name ("__isoc99_scanf")
DW_AT_name ("scanf")
DW_AT_decl_file ("/usr/include/stdio.h")
DW_AT_decl_line (410)
DW_AT_type (0x000007d8 "int")
DW_AT_declaration (true)
DW_AT_external (true)
0x00000bb9: DW_TAG_formal_parameter
DW_AT_type (0x00000857 "restrict const char*")
0x00000bbe: DW_TAG_unspecified_parameters
0x00000bbf: NULL
0x00000bc0: DW_TAG_subprogram
DW_AT_linkage_name ("__isoc99_vscanf")
DW_AT_name ("vscanf")
DW_AT_decl_file ("/usr/include/stdio.h")
DW_AT_decl_line (456)
DW_AT_type (0x000007d8 "int")
DW_AT_declaration (true)
DW_AT_external (true)
0x00000bd0: DW_TAG_formal_parameter
DW_AT_type (0x00000857 "restrict const char*")
0x00000bd5: DW_TAG_formal_parameter
DW_AT_type (0x000008ef "__va_list_tag*")
0x00000bda: NULL
0x00000bdb: DW_TAG_subprogram
DW_AT_name ("printf")
DW_AT_decl_file ("/usr/include/stdio.h")
DW_AT_decl_line (332)
DW_AT_type (0x000007d8 "int")
DW_AT_declaration (true)
DW_AT_external (true)
0x00000be7: DW_TAG_formal_parameter
DW_AT_type (0x00000857 "restrict const char*")
0x00000bec: DW_TAG_unspecified_parameters
0x00000bed: NULL
0x00000bee: DW_TAG_subprogram
DW_AT_name ("putchar")
DW_AT_decl_file ("/usr/include/stdio.h")
DW_AT_decl_line (528)
DW_AT_type (0x000007d8 "int")
DW_AT_declaration (true)
DW_AT_external (true)
0x00000bfa: DW_TAG_formal_parameter
DW_AT_type (0x000007d8 "int")
0x00000bff: NULL
0x00000c00: DW_TAG_subprogram
DW_AT_name ("puts")
DW_AT_decl_file ("/usr/include/stdio.h")
DW_AT_decl_line (632)
DW_AT_type (0x000007d8 "int")
DW_AT_declaration (true)
DW_AT_external (true)
0x00000c0c: DW_TAG_formal_parameter
DW_AT_type (0x0000085c "const char*")
0x00000c11: NULL
0x00000c12: DW_TAG_subprogram
DW_AT_name ("vprintf")
DW_AT_decl_file ("/usr/include/stdio.h")
DW_AT_decl_line (347)
DW_AT_type (0x000007d8 "int")
DW_AT_declaration (true)
DW_AT_external (true)
0x00000c1e: DW_TAG_formal_parameter
DW_AT_type (0x00000857 "restrict const char*")
0x00000c23: DW_TAG_formal_parameter
DW_AT_type (0x000008ef "__va_list_tag*")
0x00000c28: NULL
0x00000c29: DW_TAG_typedef
DW_AT_type (0x00000aa1 "long int")
DW_AT_name ("ptrdiff_t")
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/lib/clang/11.0.0/include/stddef.h")
DW_AT_decl_line (35)
0x00000c34: DW_TAG_typedef
DW_AT_type (0x00000c3f "structure ")
DW_AT_name ("max_align_t")
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/lib/clang/11.0.0/include/__stddef_max_align_t.h")
DW_AT_decl_line (24)
0x00000c3f: DW_TAG_structure_type
DW_AT_declaration (true)
0x00000c40: DW_TAG_typedef
DW_AT_type (0x00000c4b "structure ")
DW_AT_name ("div_t")
DW_AT_decl_file ("/usr/include/stdlib.h")
DW_AT_decl_line (62)
0x00000c4b: DW_TAG_structure_type
DW_AT_declaration (true)
0x00000c4c: DW_TAG_typedef
DW_AT_type (0x00000c57 "structure ")
DW_AT_name ("ldiv_t")
DW_AT_decl_file ("/usr/include/stdlib.h")
DW_AT_decl_line (70)
0x00000c57: DW_TAG_structure_type
DW_AT_calling_convention (DW_CC_pass_by_value)
DW_AT_byte_size (0x10)
DW_AT_decl_file ("/usr/include/stdlib.h")
DW_AT_decl_line (66)
0x00000c5c: DW_TAG_member
DW_AT_name ("quot")
DW_AT_type (0x00000aa1 "long int")
DW_AT_decl_file ("/usr/include/stdlib.h")
DW_AT_decl_line (68)
DW_AT_data_member_location (0x00)
0x00000c68: DW_TAG_member
DW_AT_name ("rem")
DW_AT_type (0x00000aa1 "long int")
DW_AT_decl_file ("/usr/include/stdlib.h")
DW_AT_decl_line (69)
DW_AT_data_member_location (0x08)
0x00000c74: NULL
0x00000c75: DW_TAG_typedef
DW_AT_type (0x00000c80 "structure ")
DW_AT_name ("lldiv_t")
DW_AT_decl_file ("/usr/include/stdlib.h")
DW_AT_decl_line (80)
0x00000c80: DW_TAG_structure_type
DW_AT_calling_convention (DW_CC_pass_by_value)
DW_AT_byte_size (0x10)
DW_AT_decl_file ("/usr/include/stdlib.h")
DW_AT_decl_line (76)
0x00000c85: DW_TAG_member
DW_AT_name ("quot")
DW_AT_type (0x00000c9e "long long int")
DW_AT_decl_file ("/usr/include/stdlib.h")
DW_AT_decl_line (78)
DW_AT_data_member_location (0x00)
0x00000c91: DW_TAG_member
DW_AT_name ("rem")
DW_AT_type (0x00000c9e "long long int")
DW_AT_decl_file ("/usr/include/stdlib.h")
DW_AT_decl_line (79)
DW_AT_data_member_location (0x08)
0x00000c9d: NULL
0x00000c9e: DW_TAG_base_type
DW_AT_name ("long long int")
DW_AT_encoding (DW_ATE_signed)
DW_AT_byte_size (0x08)
0x00000ca5: DW_TAG_subprogram
DW_AT_name ("atof")
DW_AT_decl_file ("/usr/include/stdlib.h")
DW_AT_decl_line (101)
DW_AT_type (0x00000cb6 "double")
DW_AT_declaration (true)
DW_AT_external (true)
0x00000cb0: DW_TAG_formal_parameter
DW_AT_type (0x0000085c "const char*")
0x00000cb5: NULL
0x00000cb6: DW_TAG_base_type
DW_AT_name ("double")
DW_AT_encoding (DW_ATE_float)
DW_AT_byte_size (0x08)
0x00000cbd: DW_TAG_subprogram
DW_AT_name ("atoi")
DW_AT_decl_file ("/usr/include/stdlib.h")
DW_AT_decl_line (104)
DW_AT_type (0x000007d8 "int")
DW_AT_declaration (true)
DW_AT_external (true)
0x00000cc8: DW_TAG_formal_parameter
DW_AT_type (0x0000085c "const char*")
0x00000ccd: NULL
0x00000cce: DW_TAG_subprogram
DW_AT_name ("atol")
DW_AT_decl_file ("/usr/include/stdlib.h")
DW_AT_decl_line (107)
DW_AT_type (0x00000aa1 "long int")
DW_AT_declaration (true)
DW_AT_external (true)
0x00000cd9: DW_TAG_formal_parameter
DW_AT_type (0x0000085c "const char*")
0x00000cde: NULL
0x00000cdf: DW_TAG_subprogram
DW_AT_name ("atoll")
DW_AT_decl_file ("/usr/include/stdlib.h")
DW_AT_decl_line (112)
DW_AT_type (0x00000c9e "long long int")
DW_AT_declaration (true)
DW_AT_external (true)
0x00000cea: DW_TAG_formal_parameter
DW_AT_type (0x0000085c "const char*")
0x00000cef: NULL
0x00000cf0: DW_TAG_subprogram
DW_AT_name ("strtod")
DW_AT_decl_file ("/usr/include/stdlib.h")
DW_AT_decl_line (117)
DW_AT_type (0x00000cb6 "double")
DW_AT_declaration (true)
DW_AT_external (true)
0x00000cfb: DW_TAG_formal_parameter
DW_AT_type (0x00000857 "restrict const char*")
0x00000d00: DW_TAG_formal_parameter
DW_AT_type (0x00000d06 "restrict char**")
0x00000d05: NULL
0x00000d06: DW_TAG_restrict_type
DW_AT_type (0x00000d0b "char**")
0x00000d0b: DW_TAG_pointer_type
DW_AT_type (0x00000812 "char*")
0x00000d10: DW_TAG_subprogram
DW_AT_name ("strtof")
DW_AT_decl_file ("/usr/include/stdlib.h")
DW_AT_decl_line (123)
DW_AT_type (0x00000d26 "float")
DW_AT_declaration (true)
DW_AT_external (true)
0x00000d1b: DW_TAG_formal_parameter
DW_AT_type (0x00000857 "restrict const char*")
0x00000d20: DW_TAG_formal_parameter
DW_AT_type (0x00000d06 "restrict char**")
0x00000d25: NULL
0x00000d26: DW_TAG_base_type
DW_AT_name ("float")
DW_AT_encoding (DW_ATE_float)
DW_AT_byte_size (0x04)
0x00000d2d: DW_TAG_subprogram
DW_AT_name ("strtold")
DW_AT_decl_file ("/usr/include/stdlib.h")
DW_AT_decl_line (126)
DW_AT_type (0x00000d43 "long double")
DW_AT_declaration (true)
DW_AT_external (true)
0x00000d38: DW_TAG_formal_parameter
DW_AT_type (0x00000857 "restrict const char*")
0x00000d3d: DW_TAG_formal_parameter
DW_AT_type (0x00000d06 "restrict char**")
0x00000d42: NULL
0x00000d43: DW_TAG_base_type
DW_AT_name ("long double")
DW_AT_encoding (DW_ATE_float)
DW_AT_byte_size (0x10)
0x00000d4a: DW_TAG_subprogram
DW_AT_name ("strtol")
DW_AT_decl_file ("/usr/include/stdlib.h")
DW_AT_decl_line (176)
DW_AT_type (0x00000aa1 "long int")
DW_AT_declaration (true)
DW_AT_external (true)
0x00000d55: DW_TAG_formal_parameter
DW_AT_type (0x00000857 "restrict const char*")
0x00000d5a: DW_TAG_formal_parameter
DW_AT_type (0x00000d06 "restrict char**")
0x00000d5f: DW_TAG_formal_parameter
DW_AT_type (0x000007d8 "int")
0x00000d64: NULL
0x00000d65: DW_TAG_subprogram
DW_AT_name ("strtoll")
DW_AT_decl_file ("/usr/include/stdlib.h")
DW_AT_decl_line (200)
DW_AT_type (0x00000c9e "long long int")
DW_AT_declaration (true)
DW_AT_external (true)
0x00000d70: DW_TAG_formal_parameter
DW_AT_type (0x00000857 "restrict const char*")
0x00000d75: DW_TAG_formal_parameter
DW_AT_type (0x00000d06 "restrict char**")
0x00000d7a: DW_TAG_formal_parameter
DW_AT_type (0x000007d8 "int")
0x00000d7f: NULL
0x00000d80: DW_TAG_subprogram
DW_AT_name ("strtoul")
DW_AT_decl_file ("/usr/include/stdlib.h")
DW_AT_decl_line (180)
DW_AT_type (0x000007c0 "long unsigned int")
DW_AT_declaration (true)
DW_AT_external (true)
0x00000d8b: DW_TAG_formal_parameter
DW_AT_type (0x00000857 "restrict const char*")
0x00000d90: DW_TAG_formal_parameter
DW_AT_type (0x00000d06 "restrict char**")
0x00000d95: DW_TAG_formal_parameter
DW_AT_type (0x000007d8 "int")
0x00000d9a: NULL
0x00000d9b: DW_TAG_subprogram
DW_AT_name ("strtoull")
DW_AT_decl_file ("/usr/include/stdlib.h")
DW_AT_decl_line (205)
DW_AT_type (0x00000db6 "long long unsigned int")
DW_AT_declaration (true)
DW_AT_external (true)
0x00000da6: DW_TAG_formal_parameter
DW_AT_type (0x00000857 "restrict const char*")
0x00000dab: DW_TAG_formal_parameter
DW_AT_type (0x00000d06 "restrict char**")
0x00000db0: DW_TAG_formal_parameter
DW_AT_type (0x000007d8 "int")
0x00000db5: NULL
0x00000db6: DW_TAG_base_type
DW_AT_name ("long long unsigned int")
DW_AT_encoding (DW_ATE_unsigned)
DW_AT_byte_size (0x08)
0x00000dbd: DW_TAG_subprogram
DW_AT_name ("rand")
DW_AT_decl_file ("/usr/include/stdlib.h")
DW_AT_decl_line (453)
DW_AT_type (0x000007d8 "int")
DW_AT_declaration (true)
DW_AT_external (true)
0x00000dc9: DW_TAG_subprogram
DW_AT_name ("srand")
DW_AT_decl_file ("/usr/include/stdlib.h")
DW_AT_decl_line (455)
DW_AT_declaration (true)
DW_AT_external (true)
0x00000dd1: DW_TAG_formal_parameter
DW_AT_type (0x00000dd7 "unsigned int")
0x00000dd6: NULL
0x00000dd7: DW_TAG_base_type
DW_AT_name ("unsigned int")
DW_AT_encoding (DW_ATE_unsigned)
DW_AT_byte_size (0x04)
0x00000dde: DW_TAG_subprogram
DW_AT_name ("calloc")
DW_AT_decl_file ("/usr/include/stdlib.h")
DW_AT_decl_line (542)
DW_AT_type (0x0000073c "*")
DW_AT_declaration (true)
DW_AT_external (true)
0x00000dea: DW_TAG_formal_parameter
DW_AT_type (0x000007b5 "size_t")
0x00000def: DW_TAG_formal_parameter
DW_AT_type (0x000007b5 "size_t")
0x00000df4: NULL
0x00000df5: DW_TAG_subprogram
DW_AT_name ("free")
DW_AT_decl_file ("/usr/include/stdlib.h")
DW_AT_decl_line (565)
DW_AT_declaration (true)
DW_AT_external (true)
0x00000dfd: DW_TAG_formal_parameter
DW_AT_type (0x0000073c "*")
0x00000e02: NULL
0x00000e03: DW_TAG_subprogram
DW_AT_name ("malloc")
DW_AT_decl_file ("/usr/include/stdlib.h")
DW_AT_decl_line (539)
DW_AT_type (0x0000073c "*")
DW_AT_declaration (true)
DW_AT_external (true)
0x00000e0f: DW_TAG_formal_parameter
DW_AT_type (0x000007b5 "size_t")
0x00000e14: NULL
0x00000e15: DW_TAG_subprogram
DW_AT_name ("realloc")
DW_AT_decl_file ("/usr/include/stdlib.h")
DW_AT_decl_line (550)
DW_AT_type (0x0000073c "*")
DW_AT_declaration (true)
DW_AT_external (true)
0x00000e21: DW_TAG_formal_parameter
DW_AT_type (0x0000073c "*")
0x00000e26: DW_TAG_formal_parameter
DW_AT_type (0x000007b5 "size_t")
0x00000e2b: NULL
0x00000e2c: DW_TAG_subprogram
DW_AT_name ("abort")
DW_AT_decl_file ("/usr/include/stdlib.h")
DW_AT_decl_line (591)
DW_AT_declaration (true)
DW_AT_external (true)
DW_AT_noreturn (true)
0x00000e34: DW_TAG_subprogram
DW_AT_name ("atexit")
DW_AT_decl_file ("/usr/include/stdlib.h")
DW_AT_decl_line (595)
DW_AT_type (0x000007d8 "int")
DW_AT_declaration (true)
DW_AT_external (true)
0x00000e40: DW_TAG_formal_parameter
DW_AT_type (0x00000e46 "void()*")
0x00000e45: NULL
0x00000e46: DW_TAG_pointer_type
DW_AT_type (0x00000e4b "void()")
0x00000e4b: DW_TAG_subroutine_type
0x00000e4c: DW_TAG_subprogram
DW_AT_name ("exit")
DW_AT_decl_file ("/usr/include/stdlib.h")
DW_AT_decl_line (617)
DW_AT_declaration (true)
DW_AT_external (true)
DW_AT_noreturn (true)
0x00000e54: DW_TAG_formal_parameter
DW_AT_type (0x000007d8 "int")
0x00000e59: NULL
0x00000e5a: DW_TAG_subprogram
DW_AT_name ("_Exit")
DW_AT_decl_file ("/usr/include/stdlib.h")
DW_AT_decl_line (629)
DW_AT_declaration (true)
DW_AT_external (true)
DW_AT_noreturn (true)
0x00000e62: DW_TAG_formal_parameter
DW_AT_type (0x000007d8 "int")
0x00000e67: NULL
0x00000e68: DW_TAG_subprogram
DW_AT_name ("getenv")
DW_AT_decl_file ("/usr/include/stdlib.h")
DW_AT_decl_line (634)
DW_AT_type (0x00000812 "char*")
DW_AT_declaration (true)
DW_AT_external (true)
0x00000e74: DW_TAG_formal_parameter
DW_AT_type (0x0000085c "const char*")
0x00000e79: NULL
0x00000e7a: DW_TAG_subprogram
DW_AT_name ("system")
DW_AT_decl_file ("/usr/include/stdlib.h")
DW_AT_decl_line (784)
DW_AT_type (0x000007d8 "int")
DW_AT_declaration (true)
DW_AT_external (true)
0x00000e86: DW_TAG_formal_parameter
DW_AT_type (0x0000085c "const char*")
0x00000e8b: NULL
0x00000e8c: DW_TAG_subprogram
DW_AT_name ("bsearch")
DW_AT_decl_file ("/usr/include/stdlib.h")
DW_AT_decl_line (820)
DW_AT_type (0x0000073c "*")
DW_AT_declaration (true)
DW_AT_external (true)
0x00000e98: DW_TAG_formal_parameter
DW_AT_type (0x00000a5e "const *")
0x00000e9d: DW_TAG_formal_parameter
DW_AT_type (0x00000a5e "const *")
0x00000ea2: DW_TAG_formal_parameter
DW_AT_type (0x000007b5 "size_t")
0x00000ea7: DW_TAG_formal_parameter
DW_AT_type (0x000007b5 "size_t")
0x00000eac: DW_TAG_formal_parameter
DW_AT_type (0x00000eb2 "__compar_fn_t")
0x00000eb1: NULL
0x00000eb2: DW_TAG_typedef
DW_AT_type (0x00000ebe "int(const *, const *)*")
DW_AT_name ("__compar_fn_t")
DW_AT_decl_file ("/usr/include/stdlib.h")
DW_AT_decl_line (808)
0x00000ebe: DW_TAG_pointer_type
DW_AT_type (0x00000ec3 "int(const *, const *)")
0x00000ec3: DW_TAG_subroutine_type
DW_AT_type (0x000007d8 "int")
0x00000ec8: DW_TAG_formal_parameter
DW_AT_type (0x00000a5e "const *")
0x00000ecd: DW_TAG_formal_parameter
DW_AT_type (0x00000a5e "const *")
0x00000ed2: NULL
0x00000ed3: DW_TAG_subprogram
DW_AT_name ("qsort")
DW_AT_decl_file ("/usr/include/stdlib.h")
DW_AT_decl_line (830)
DW_AT_declaration (true)
DW_AT_external (true)
0x00000edb: DW_TAG_formal_parameter
DW_AT_type (0x0000073c "*")
0x00000ee0: DW_TAG_formal_parameter
DW_AT_type (0x000007b5 "size_t")
0x00000ee5: DW_TAG_formal_parameter
DW_AT_type (0x000007b5 "size_t")
0x00000eea: DW_TAG_formal_parameter
DW_AT_type (0x00000eb2 "__compar_fn_t")
0x00000eef: NULL
0x00000ef0: DW_TAG_subprogram
DW_AT_linkage_name ("_Z3abse")
DW_AT_name ("abs")
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/math.h")
DW_AT_decl_line (793)
DW_AT_type (0x00000d43 "long double")
DW_AT_declaration (true)
DW_AT_external (true)
0x00000f00: DW_TAG_formal_parameter
DW_AT_type (0x00000d43 "long double")
0x00000f05: NULL
0x00000f06: DW_TAG_subprogram
DW_AT_name ("labs")
DW_AT_decl_file ("/usr/include/stdlib.h")
DW_AT_decl_line (841)
DW_AT_type (0x00000aa1 "long int")
DW_AT_declaration (true)
DW_AT_external (true)
0x00000f12: DW_TAG_formal_parameter
DW_AT_type (0x00000aa1 "long int")
0x00000f17: NULL
0x00000f18: DW_TAG_subprogram
DW_AT_name ("llabs")
DW_AT_decl_file ("/usr/include/stdlib.h")
DW_AT_decl_line (844)
DW_AT_type (0x00000c9e "long long int")
DW_AT_declaration (true)
DW_AT_external (true)
0x00000f24: DW_TAG_formal_parameter
DW_AT_type (0x00000c9e "long long int")
0x00000f29: NULL
0x00000f2a: DW_TAG_subprogram
DW_AT_linkage_name ("_Z3divxx")
DW_AT_name ("div")
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/math.h")
DW_AT_decl_line (812)
DW_AT_type (0x00000c75 "lldiv_t")
DW_AT_declaration (true)
DW_AT_external (true)
0x00000f3a: DW_TAG_formal_parameter
DW_AT_type (0x00000c9e "long long int")
0x00000f3f: DW_TAG_formal_parameter
DW_AT_type (0x00000c9e "long long int")
0x00000f44: NULL
0x00000f45: DW_TAG_subprogram
DW_AT_name ("ldiv")
DW_AT_decl_file ("/usr/include/stdlib.h")
DW_AT_decl_line (854)
DW_AT_type (0x00000c4c "ldiv_t")
DW_AT_declaration (true)
DW_AT_external (true)
0x00000f51: DW_TAG_formal_parameter
DW_AT_type (0x00000aa1 "long int")
0x00000f56: DW_TAG_formal_parameter
DW_AT_type (0x00000aa1 "long int")
0x00000f5b: NULL
0x00000f5c: DW_TAG_subprogram
DW_AT_name ("lldiv")
DW_AT_decl_file ("/usr/include/stdlib.h")
DW_AT_decl_line (858)
DW_AT_type (0x00000c75 "lldiv_t")
DW_AT_declaration (true)
DW_AT_external (true)
0x00000f68: DW_TAG_formal_parameter
DW_AT_type (0x00000c9e "long long int")
0x00000f6d: DW_TAG_formal_parameter
DW_AT_type (0x00000c9e "long long int")
0x00000f72: NULL
0x00000f73: DW_TAG_subprogram
DW_AT_name ("mblen")
DW_AT_decl_file ("/usr/include/stdlib.h")
DW_AT_decl_line (922)
DW_AT_type (0x000007d8 "int")
DW_AT_declaration (true)
DW_AT_external (true)
0x00000f7f: DW_TAG_formal_parameter
DW_AT_type (0x0000085c "const char*")
0x00000f84: DW_TAG_formal_parameter
DW_AT_type (0x000007b5 "size_t")
0x00000f89: NULL
0x00000f8a: DW_TAG_subprogram
DW_AT_name ("mbtowc")
DW_AT_decl_file ("/usr/include/stdlib.h")
DW_AT_decl_line (925)
DW_AT_type (0x000007d8 "int")
DW_AT_declaration (true)
DW_AT_external (true)
0x00000f96: DW_TAG_formal_parameter
DW_AT_type (0x00000fa6 "restrict wchar_t*")
0x00000f9b: DW_TAG_formal_parameter
DW_AT_type (0x00000857 "restrict const char*")
0x00000fa0: DW_TAG_formal_parameter
DW_AT_type (0x000007b5 "size_t")
0x00000fa5: NULL
0x00000fa6: DW_TAG_restrict_type
DW_AT_type (0x00000fab "wchar_t*")
0x00000fab: DW_TAG_pointer_type
DW_AT_type (0x00000fb0 "wchar_t")
0x00000fb0: DW_TAG_base_type
DW_AT_name ("wchar_t")
DW_AT_encoding (DW_ATE_signed)
DW_AT_byte_size (0x04)
0x00000fb7: DW_TAG_subprogram
DW_AT_name ("wctomb")
DW_AT_decl_file ("/usr/include/stdlib.h")
DW_AT_decl_line (929)
DW_AT_type (0x000007d8 "int")
DW_AT_declaration (true)
DW_AT_external (true)
0x00000fc3: DW_TAG_formal_parameter
DW_AT_type (0x00000812 "char*")
0x00000fc8: DW_TAG_formal_parameter
DW_AT_type (0x00000fb0 "wchar_t")
0x00000fcd: NULL
0x00000fce: DW_TAG_subprogram
DW_AT_name ("mbstowcs")
DW_AT_decl_file ("/usr/include/stdlib.h")
DW_AT_decl_line (933)
DW_AT_type (0x000007b5 "size_t")
DW_AT_declaration (true)
DW_AT_external (true)
0x00000fda: DW_TAG_formal_parameter
DW_AT_type (0x00000fa6 "restrict wchar_t*")
0x00000fdf: DW_TAG_formal_parameter
DW_AT_type (0x00000857 "restrict const char*")
0x00000fe4: DW_TAG_formal_parameter
DW_AT_type (0x000007b5 "size_t")
0x00000fe9: NULL
0x00000fea: DW_TAG_subprogram
DW_AT_name ("wcstombs")
DW_AT_decl_file ("/usr/include/stdlib.h")
DW_AT_decl_line (936)
DW_AT_type (0x000007b5 "size_t")
DW_AT_declaration (true)
DW_AT_external (true)
0x00000ff6: DW_TAG_formal_parameter
DW_AT_type (0x0000080d "restrict char*")
0x00000ffb: DW_TAG_formal_parameter
DW_AT_type (0x00001006 "restrict const wchar_t*")
0x00001000: DW_TAG_formal_parameter
DW_AT_type (0x000007b5 "size_t")
0x00001005: NULL
0x00001006: DW_TAG_restrict_type
DW_AT_type (0x0000100b "const wchar_t*")
0x0000100b: DW_TAG_pointer_type
DW_AT_type (0x00001010 "const wchar_t")
0x00001010: DW_TAG_const_type
DW_AT_type (0x00000fb0 "wchar_t")
0x00001015: DW_TAG_subprogram
DW_AT_name ("at_quick_exit")
DW_AT_decl_file ("/usr/include/stdlib.h")
DW_AT_decl_line (600)
DW_AT_type (0x000007d8 "int")
DW_AT_declaration (true)
DW_AT_external (true)
0x00001021: DW_TAG_formal_parameter
DW_AT_type (0x00000e46 "void()*")
0x00001026: NULL
0x00001027: DW_TAG_subprogram
DW_AT_name ("quick_exit")
DW_AT_decl_file ("/usr/include/stdlib.h")
DW_AT_decl_line (623)
DW_AT_declaration (true)
DW_AT_external (true)
DW_AT_noreturn (true)
0x0000102f: DW_TAG_formal_parameter
DW_AT_type (0x000007d8 "int")
0x00001034: NULL
0x00001035: DW_TAG_subprogram
DW_AT_name ("aligned_alloc")
DW_AT_decl_file ("/usr/include/stdlib.h")
DW_AT_decl_line (586)
DW_AT_type (0x0000073c "*")
DW_AT_declaration (true)
DW_AT_external (true)
0x00001041: DW_TAG_formal_parameter
DW_AT_type (0x000007b5 "size_t")
0x00001046: DW_TAG_formal_parameter
DW_AT_type (0x000007b5 "size_t")
0x0000104b: NULL
0x0000104c: DW_TAG_typedef
DW_AT_type (0x00001057 "__int8_t")
DW_AT_name ("int8_t")
DW_AT_decl_file ("/usr/include/x86_64-linux-gnu/bits/stdint-intn.h")
DW_AT_decl_line (24)
0x00001057: DW_TAG_typedef
DW_AT_type (0x00001062 "signed char")
DW_AT_name ("__int8_t")
DW_AT_decl_file ("/usr/include/x86_64-linux-gnu/bits/types.h")
DW_AT_decl_line (37)
0x00001062: DW_TAG_base_type
DW_AT_name ("signed char")
DW_AT_encoding (DW_ATE_signed_char)
DW_AT_byte_size (0x01)
0x00001069: DW_TAG_typedef
DW_AT_type (0x00001074 "__int16_t")
DW_AT_name ("int16_t")
DW_AT_decl_file ("/usr/include/x86_64-linux-gnu/bits/stdint-intn.h")
DW_AT_decl_line (25)
0x00001074: DW_TAG_typedef
DW_AT_type (0x0000107f "short")
DW_AT_name ("__int16_t")
DW_AT_decl_file ("/usr/include/x86_64-linux-gnu/bits/types.h")
DW_AT_decl_line (39)
0x0000107f: DW_TAG_base_type
DW_AT_name ("short")
DW_AT_encoding (DW_ATE_signed)
DW_AT_byte_size (0x02)
0x00001086: DW_TAG_typedef
DW_AT_type (0x00001091 "__int32_t")
DW_AT_name ("int32_t")
DW_AT_decl_file ("/usr/include/x86_64-linux-gnu/bits/stdint-intn.h")
DW_AT_decl_line (26)
0x00001091: DW_TAG_typedef
DW_AT_type (0x000007d8 "int")
DW_AT_name ("__int32_t")
DW_AT_decl_file ("/usr/include/x86_64-linux-gnu/bits/types.h")
DW_AT_decl_line (41)
0x0000109c: DW_TAG_typedef
DW_AT_type (0x000010a7 "__int64_t")
DW_AT_name ("int64_t")
DW_AT_decl_file ("/usr/include/x86_64-linux-gnu/bits/stdint-intn.h")
DW_AT_decl_line (27)
0x000010a7: DW_TAG_typedef
DW_AT_type (0x00000aa1 "long int")
DW_AT_name ("__int64_t")
DW_AT_decl_file ("/usr/include/x86_64-linux-gnu/bits/types.h")
DW_AT_decl_line (44)
0x000010b2: DW_TAG_typedef
DW_AT_type (0x000010bd "__uint8_t")
DW_AT_name ("uint8_t")
DW_AT_decl_file ("/usr/include/x86_64-linux-gnu/bits/stdint-uintn.h")
DW_AT_decl_line (24)
0x000010bd: DW_TAG_typedef
DW_AT_type (0x000010c8 "unsigned char")
DW_AT_name ("__uint8_t")
DW_AT_decl_file ("/usr/include/x86_64-linux-gnu/bits/types.h")
DW_AT_decl_line (38)
0x000010c8: DW_TAG_base_type
DW_AT_name ("unsigned char")
DW_AT_encoding (DW_ATE_unsigned_char)
DW_AT_byte_size (0x01)
0x000010cf: DW_TAG_typedef
DW_AT_type (0x000010da "__uint16_t")
DW_AT_name ("uint16_t")
DW_AT_decl_file ("/usr/include/x86_64-linux-gnu/bits/stdint-uintn.h")
DW_AT_decl_line (25)
0x000010da: DW_TAG_typedef
DW_AT_type (0x000010e5 "unsigned short")
DW_AT_name ("__uint16_t")
DW_AT_decl_file ("/usr/include/x86_64-linux-gnu/bits/types.h")
DW_AT_decl_line (40)
0x000010e5: DW_TAG_base_type
DW_AT_name ("unsigned short")
DW_AT_encoding (DW_ATE_unsigned)
DW_AT_byte_size (0x02)
0x000010ec: DW_TAG_typedef
DW_AT_type (0x000010f7 "__uint32_t")
DW_AT_name ("uint32_t")
DW_AT_decl_file ("/usr/include/x86_64-linux-gnu/bits/stdint-uintn.h")
DW_AT_decl_line (26)
0x000010f7: DW_TAG_typedef
DW_AT_type (0x00000dd7 "unsigned int")
DW_AT_name ("__uint32_t")
DW_AT_decl_file ("/usr/include/x86_64-linux-gnu/bits/types.h")
DW_AT_decl_line (42)
0x00001102: DW_TAG_typedef
DW_AT_type (0x0000110d "__uint64_t")
DW_AT_name ("uint64_t")
DW_AT_decl_file ("/usr/include/x86_64-linux-gnu/bits/stdint-uintn.h")
DW_AT_decl_line (27)
0x0000110d: DW_TAG_typedef
DW_AT_type (0x000007c0 "long unsigned int")
DW_AT_name ("__uint64_t")
DW_AT_decl_file ("/usr/include/x86_64-linux-gnu/bits/types.h")
DW_AT_decl_line (45)
0x00001118: DW_TAG_typedef
DW_AT_type (0x00001123 "__int_least8_t")
DW_AT_name ("int_least8_t")
DW_AT_decl_file ("/usr/include/stdint.h")
DW_AT_decl_line (43)
0x00001123: DW_TAG_typedef
DW_AT_type (0x00001057 "__int8_t")
DW_AT_name ("__int_least8_t")
DW_AT_decl_file ("/usr/include/x86_64-linux-gnu/bits/types.h")
DW_AT_decl_line (52)
0x0000112e: DW_TAG_typedef
DW_AT_type (0x00001139 "__int_least16_t")
DW_AT_name ("int_least16_t")
DW_AT_decl_file ("/usr/include/stdint.h")
DW_AT_decl_line (44)
0x00001139: DW_TAG_typedef
DW_AT_type (0x00001074 "__int16_t")
DW_AT_name ("__int_least16_t")
DW_AT_decl_file ("/usr/include/x86_64-linux-gnu/bits/types.h")
DW_AT_decl_line (54)
0x00001144: DW_TAG_typedef
DW_AT_type (0x0000114f "__int_least32_t")
DW_AT_name ("int_least32_t")
DW_AT_decl_file ("/usr/include/stdint.h")
DW_AT_decl_line (45)
0x0000114f: DW_TAG_typedef
DW_AT_type (0x00001091 "__int32_t")
DW_AT_name ("__int_least32_t")
DW_AT_decl_file ("/usr/include/x86_64-linux-gnu/bits/types.h")
DW_AT_decl_line (56)
0x0000115a: DW_TAG_typedef
DW_AT_type (0x00001165 "__int_least64_t")
DW_AT_name ("int_least64_t")
DW_AT_decl_file ("/usr/include/stdint.h")
DW_AT_decl_line (46)
0x00001165: DW_TAG_typedef
DW_AT_type (0x000010a7 "__int64_t")
DW_AT_name ("__int_least64_t")
DW_AT_decl_file ("/usr/include/x86_64-linux-gnu/bits/types.h")
DW_AT_decl_line (58)
0x00001170: DW_TAG_typedef
DW_AT_type (0x0000117b "__uint_least8_t")
DW_AT_name ("uint_least8_t")
DW_AT_decl_file ("/usr/include/stdint.h")
DW_AT_decl_line (49)
0x0000117b: DW_TAG_typedef
DW_AT_type (0x000010bd "__uint8_t")
DW_AT_name ("__uint_least8_t")
DW_AT_decl_file ("/usr/include/x86_64-linux-gnu/bits/types.h")
DW_AT_decl_line (53)
0x00001186: DW_TAG_typedef
DW_AT_type (0x00001191 "__uint_least16_t")
DW_AT_name ("uint_least16_t")
DW_AT_decl_file ("/usr/include/stdint.h")
DW_AT_decl_line (50)
0x00001191: DW_TAG_typedef
DW_AT_type (0x000010da "__uint16_t")
DW_AT_name ("__uint_least16_t")
DW_AT_decl_file ("/usr/include/x86_64-linux-gnu/bits/types.h")
DW_AT_decl_line (55)
0x0000119c: DW_TAG_typedef
DW_AT_type (0x000011a7 "__uint_least32_t")
DW_AT_name ("uint_least32_t")
DW_AT_decl_file ("/usr/include/stdint.h")
DW_AT_decl_line (51)
0x000011a7: DW_TAG_typedef
DW_AT_type (0x000010f7 "__uint32_t")
DW_AT_name ("__uint_least32_t")
DW_AT_decl_file ("/usr/include/x86_64-linux-gnu/bits/types.h")
DW_AT_decl_line (57)
0x000011b2: DW_TAG_typedef
DW_AT_type (0x000011bd "__uint_least64_t")
DW_AT_name ("uint_least64_t")
DW_AT_decl_file ("/usr/include/stdint.h")
DW_AT_decl_line (52)
0x000011bd: DW_TAG_typedef
DW_AT_type (0x0000110d "__uint64_t")
DW_AT_name ("__uint_least64_t")
DW_AT_decl_file ("/usr/include/x86_64-linux-gnu/bits/types.h")
DW_AT_decl_line (59)
0x000011c8: DW_TAG_typedef
DW_AT_type (0x00001062 "signed char")
DW_AT_name ("int_fast8_t")
DW_AT_decl_file ("/usr/include/stdint.h")
DW_AT_decl_line (58)
0x000011d3: DW_TAG_typedef
DW_AT_type (0x00000aa1 "long int")
DW_AT_name ("int_fast16_t")
DW_AT_decl_file ("/usr/include/stdint.h")
DW_AT_decl_line (60)
0x000011de: DW_TAG_typedef
DW_AT_type (0x00000aa1 "long int")
DW_AT_name ("int_fast32_t")
DW_AT_decl_file ("/usr/include/stdint.h")
DW_AT_decl_line (61)
0x000011e9: DW_TAG_typedef
DW_AT_type (0x00000aa1 "long int")
DW_AT_name ("int_fast64_t")
DW_AT_decl_file ("/usr/include/stdint.h")
DW_AT_decl_line (62)
0x000011f4: DW_TAG_typedef
DW_AT_type (0x000010c8 "unsigned char")
DW_AT_name ("uint_fast8_t")
DW_AT_decl_file ("/usr/include/stdint.h")
DW_AT_decl_line (71)
0x000011ff: DW_TAG_typedef
DW_AT_type (0x000007c0 "long unsigned int")
DW_AT_name ("uint_fast16_t")
DW_AT_decl_file ("/usr/include/stdint.h")
DW_AT_decl_line (73)
0x0000120a: DW_TAG_typedef
DW_AT_type (0x000007c0 "long unsigned int")
DW_AT_name ("uint_fast32_t")
DW_AT_decl_file ("/usr/include/stdint.h")
DW_AT_decl_line (74)
0x00001215: DW_TAG_typedef
DW_AT_type (0x000007c0 "long unsigned int")
DW_AT_name ("uint_fast64_t")
DW_AT_decl_file ("/usr/include/stdint.h")
DW_AT_decl_line (75)
0x00001220: DW_TAG_typedef
DW_AT_type (0x00000aa1 "long int")
DW_AT_name ("intptr_t")
DW_AT_decl_file ("/usr/include/stdint.h")
DW_AT_decl_line (87)
0x0000122b: DW_TAG_typedef
DW_AT_type (0x000007c0 "long unsigned int")
DW_AT_name ("uintptr_t")
DW_AT_decl_file ("/usr/include/stdint.h")
DW_AT_decl_line (90)
0x00001236: DW_TAG_typedef
DW_AT_type (0x00001241 "__intmax_t")
DW_AT_name ("intmax_t")
DW_AT_decl_file ("/usr/include/stdint.h")
DW_AT_decl_line (101)
0x00001241: DW_TAG_typedef
DW_AT_type (0x00000aa1 "long int")
DW_AT_name ("__intmax_t")
DW_AT_decl_file ("/usr/include/x86_64-linux-gnu/bits/types.h")
DW_AT_decl_line (72)
0x0000124c: DW_TAG_typedef
DW_AT_type (0x00001257 "__uintmax_t")
DW_AT_name ("uintmax_t")
DW_AT_decl_file ("/usr/include/stdint.h")
DW_AT_decl_line (102)
0x00001257: DW_TAG_typedef
DW_AT_type (0x000007c0 "long unsigned int")
DW_AT_name ("__uintmax_t")
DW_AT_decl_file ("/usr/include/x86_64-linux-gnu/bits/types.h")
DW_AT_decl_line (73)
0x00001262: DW_TAG_subprogram
DW_AT_name ("memcpy")
DW_AT_decl_file ("/usr/include/string.h")
DW_AT_decl_line (42)
DW_AT_type (0x0000073c "*")
DW_AT_declaration (true)
DW_AT_external (true)
0x0000126d: DW_TAG_formal_parameter
DW_AT_type (0x00000a33 "restrict *")
0x00001272: DW_TAG_formal_parameter
DW_AT_type (0x00000a59 "restrict const *")
0x00001277: DW_TAG_formal_parameter
DW_AT_type (0x000007b5 "size_t")
0x0000127c: NULL
0x0000127d: DW_TAG_subprogram
DW_AT_name ("memmove")
DW_AT_decl_file ("/usr/include/string.h")
DW_AT_decl_line (46)
DW_AT_type (0x0000073c "*")
DW_AT_declaration (true)
DW_AT_external (true)
0x00001288: DW_TAG_formal_parameter
DW_AT_type (0x0000073c "*")
0x0000128d: DW_TAG_formal_parameter
DW_AT_type (0x00000a5e "const *")
0x00001292: DW_TAG_formal_parameter
DW_AT_type (0x000007b5 "size_t")
0x00001297: NULL
0x00001298: DW_TAG_subprogram
DW_AT_name ("strcpy")
DW_AT_decl_file ("/usr/include/string.h")
DW_AT_decl_line (121)
DW_AT_type (0x00000812 "char*")
DW_AT_declaration (true)
DW_AT_external (true)
0x000012a3: DW_TAG_formal_parameter
DW_AT_type (0x0000080d "restrict char*")
0x000012a8: DW_TAG_formal_parameter
DW_AT_type (0x00000857 "restrict const char*")
0x000012ad: NULL
0x000012ae: DW_TAG_subprogram
DW_AT_name ("strncpy")
DW_AT_decl_file ("/usr/include/string.h")
DW_AT_decl_line (124)
DW_AT_type (0x00000812 "char*")
DW_AT_declaration (true)
DW_AT_external (true)
0x000012b9: DW_TAG_formal_parameter
DW_AT_type (0x0000080d "restrict char*")
0x000012be: DW_TAG_formal_parameter
DW_AT_type (0x00000857 "restrict const char*")
0x000012c3: DW_TAG_formal_parameter
DW_AT_type (0x000007b5 "size_t")
0x000012c8: NULL
0x000012c9: DW_TAG_subprogram
DW_AT_name ("strcat")
DW_AT_decl_file ("/usr/include/string.h")
DW_AT_decl_line (129)
DW_AT_type (0x00000812 "char*")
DW_AT_declaration (true)
DW_AT_external (true)
0x000012d4: DW_TAG_formal_parameter
DW_AT_type (0x0000080d "restrict char*")
0x000012d9: DW_TAG_formal_parameter
DW_AT_type (0x00000857 "restrict const char*")
0x000012de: NULL
0x000012df: DW_TAG_subprogram
DW_AT_name ("strncat")
DW_AT_decl_file ("/usr/include/string.h")
DW_AT_decl_line (132)
DW_AT_type (0x00000812 "char*")
DW_AT_declaration (true)
DW_AT_external (true)
0x000012ea: DW_TAG_formal_parameter
DW_AT_type (0x0000080d "restrict char*")
0x000012ef: DW_TAG_formal_parameter
DW_AT_type (0x00000857 "restrict const char*")
0x000012f4: DW_TAG_formal_parameter
DW_AT_type (0x000007b5 "size_t")
0x000012f9: NULL
0x000012fa: DW_TAG_subprogram
DW_AT_name ("memcmp")
DW_AT_decl_file ("/usr/include/string.h")
DW_AT_decl_line (63)
DW_AT_type (0x000007d8 "int")
DW_AT_declaration (true)
DW_AT_external (true)
0x00001305: DW_TAG_formal_parameter
DW_AT_type (0x00000a5e "const *")
0x0000130a: DW_TAG_formal_parameter
DW_AT_type (0x00000a5e "const *")
0x0000130f: DW_TAG_formal_parameter
DW_AT_type (0x000007b5 "size_t")
0x00001314: NULL
0x00001315: DW_TAG_subprogram
DW_AT_name ("strcmp")
DW_AT_decl_file ("/usr/include/string.h")
DW_AT_decl_line (136)
DW_AT_type (0x000007d8 "int")
DW_AT_declaration (true)
DW_AT_external (true)
0x00001320: DW_TAG_formal_parameter
DW_AT_type (0x0000085c "const char*")
0x00001325: DW_TAG_formal_parameter
DW_AT_type (0x0000085c "const char*")
0x0000132a: NULL
0x0000132b: DW_TAG_subprogram
DW_AT_name ("strncmp")
DW_AT_decl_file ("/usr/include/string.h")
DW_AT_decl_line (139)
DW_AT_type (0x000007d8 "int")
DW_AT_declaration (true)
DW_AT_external (true)
0x00001336: DW_TAG_formal_parameter
DW_AT_type (0x0000085c "const char*")
0x0000133b: DW_TAG_formal_parameter
DW_AT_type (0x0000085c "const char*")
0x00001340: DW_TAG_formal_parameter
DW_AT_type (0x000007b5 "size_t")
0x00001345: NULL
0x00001346: DW_TAG_subprogram
DW_AT_name ("strcoll")
DW_AT_decl_file ("/usr/include/string.h")
DW_AT_decl_line (143)
DW_AT_type (0x000007d8 "int")
DW_AT_declaration (true)
DW_AT_external (true)
0x00001351: DW_TAG_formal_parameter
DW_AT_type (0x0000085c "const char*")
0x00001356: DW_TAG_formal_parameter
DW_AT_type (0x0000085c "const char*")
0x0000135b: NULL
0x0000135c: DW_TAG_subprogram
DW_AT_name ("strxfrm")
DW_AT_decl_file ("/usr/include/string.h")
DW_AT_decl_line (146)
DW_AT_type (0x000007b5 "size_t")
DW_AT_declaration (true)
DW_AT_external (true)
0x00001367: DW_TAG_formal_parameter
DW_AT_type (0x0000080d "restrict char*")
0x0000136c: DW_TAG_formal_parameter
DW_AT_type (0x00000857 "restrict const char*")
0x00001371: DW_TAG_formal_parameter
DW_AT_type (0x000007b5 "size_t")
0x00001376: NULL
0x00001377: DW_TAG_subprogram
DW_AT_linkage_name ("_Z6memchrUa9enable_ifIXLb1EEEPvim")
DW_AT_name ("memchr")
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/string.h")
DW_AT_decl_line (98)
DW_AT_type (0x0000073c "*")
DW_AT_declaration (true)
DW_AT_external (true)
0x00001386: DW_TAG_formal_parameter
DW_AT_type (0x0000073c "*")
0x0000138b: DW_TAG_formal_parameter
DW_AT_type (0x000007d8 "int")
0x00001390: DW_TAG_formal_parameter
DW_AT_type (0x000007b5 "size_t")
0x00001395: NULL
0x00001396: DW_TAG_subprogram
DW_AT_linkage_name ("_Z6strchrUa9enable_ifIXLb1EEEPci")
DW_AT_name ("strchr")
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/string.h")
DW_AT_decl_line (77)
DW_AT_type (0x00000812 "char*")
DW_AT_declaration (true)
DW_AT_external (true)
0x000013a5: DW_TAG_formal_parameter
DW_AT_type (0x00000812 "char*")
0x000013aa: DW_TAG_formal_parameter
DW_AT_type (0x000007d8 "int")
0x000013af: NULL
0x000013b0: DW_TAG_subprogram
DW_AT_name ("strcspn")
DW_AT_decl_file ("/usr/include/string.h")
DW_AT_decl_line (272)
DW_AT_type (0x000007b5 "size_t")
DW_AT_declaration (true)
DW_AT_external (true)
0x000013bc: DW_TAG_formal_parameter
DW_AT_type (0x0000085c "const char*")
0x000013c1: DW_TAG_formal_parameter
DW_AT_type (0x0000085c "const char*")
0x000013c6: NULL
0x000013c7: DW_TAG_subprogram
DW_AT_linkage_name ("_Z7strpbrkUa9enable_ifIXLb1EEEPcPKc")
DW_AT_name ("strpbrk")
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/string.h")
DW_AT_decl_line (84)
DW_AT_type (0x00000812 "char*")
DW_AT_declaration (true)
DW_AT_external (true)
0x000013d6: DW_TAG_formal_parameter
DW_AT_type (0x00000812 "char*")
0x000013db: DW_TAG_formal_parameter
DW_AT_type (0x0000085c "const char*")
0x000013e0: NULL
0x000013e1: DW_TAG_subprogram
DW_AT_linkage_name ("_Z7strrchrUa9enable_ifIXLb1EEEPci")
DW_AT_name ("strrchr")
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/string.h")
DW_AT_decl_line (91)
DW_AT_type (0x00000812 "char*")
DW_AT_declaration (true)
DW_AT_external (true)
0x000013f0: DW_TAG_formal_parameter
DW_AT_type (0x00000812 "char*")
0x000013f5: DW_TAG_formal_parameter
DW_AT_type (0x000007d8 "int")
0x000013fa: NULL
0x000013fb: DW_TAG_subprogram
DW_AT_name ("strspn")
DW_AT_decl_file ("/usr/include/string.h")
DW_AT_decl_line (276)
DW_AT_type (0x000007b5 "size_t")
DW_AT_declaration (true)
DW_AT_external (true)
0x00001407: DW_TAG_formal_parameter
DW_AT_type (0x0000085c "const char*")
0x0000140c: DW_TAG_formal_parameter
DW_AT_type (0x0000085c "const char*")
0x00001411: NULL
0x00001412: DW_TAG_subprogram
DW_AT_linkage_name ("_Z6strstrUa9enable_ifIXLb1EEEPcPKc")
DW_AT_name ("strstr")
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/string.h")
DW_AT_decl_line (105)
DW_AT_type (0x00000812 "char*")
DW_AT_declaration (true)
DW_AT_external (true)
0x00001421: DW_TAG_formal_parameter
DW_AT_type (0x00000812 "char*")
0x00001426: DW_TAG_formal_parameter
DW_AT_type (0x0000085c "const char*")
0x0000142b: NULL
0x0000142c: DW_TAG_subprogram
DW_AT_name ("strtok")
DW_AT_decl_file ("/usr/include/string.h")
DW_AT_decl_line (335)
DW_AT_type (0x00000812 "char*")
DW_AT_declaration (true)
DW_AT_external (true)
0x00001438: DW_TAG_formal_parameter
DW_AT_type (0x0000080d "restrict char*")
0x0000143d: DW_TAG_formal_parameter
DW_AT_type (0x00000857 "restrict const char*")
0x00001442: NULL
0x00001443: DW_TAG_subprogram
DW_AT_name ("memset")
DW_AT_decl_file ("/usr/include/string.h")
DW_AT_decl_line (60)
DW_AT_type (0x0000073c "*")
DW_AT_declaration (true)
DW_AT_external (true)
0x0000144e: DW_TAG_formal_parameter
DW_AT_type (0x0000073c "*")
0x00001453: DW_TAG_formal_parameter
DW_AT_type (0x000007d8 "int")
0x00001458: DW_TAG_formal_parameter
DW_AT_type (0x000007b5 "size_t")
0x0000145d: NULL
0x0000145e: DW_TAG_subprogram
DW_AT_name ("strerror")
DW_AT_decl_file ("/usr/include/string.h")
DW_AT_decl_line (396)
DW_AT_type (0x00000812 "char*")
DW_AT_declaration (true)
DW_AT_external (true)
0x0000146a: DW_TAG_formal_parameter
DW_AT_type (0x000007d8 "int")
0x0000146f: NULL
0x00001470: DW_TAG_subprogram
DW_AT_name ("strlen")
DW_AT_decl_file ("/usr/include/string.h")
DW_AT_decl_line (384)
DW_AT_type (0x000007b5 "size_t")
DW_AT_declaration (true)
DW_AT_external (true)
0x0000147c: DW_TAG_formal_parameter
DW_AT_type (0x0000085c "const char*")
0x00001481: NULL
0x00001482: DW_TAG_imported_module
DW_AT_decl_file ("/home/modocache/Source/tmp/coro02242020/repro.cpp")
DW_AT_decl_line (4)
DW_AT_import (0x000000c2)
0x00001489: DW_TAG_subprogram
DW_AT_low_pc (0x0000000000201b10)
DW_AT_high_pc (0x000000000020200a)
DW_AT_frame_base (DW_OP_reg6 RBP)
DW_AT_linkage_name ("_Z3foov")
DW_AT_name ("foo")
DW_AT_decl_file ("/home/modocache/Source/tmp/coro02242020/repro.cpp")
DW_AT_decl_line (23)
DW_AT_type (0x0000002a "coro")
DW_AT_external (true)
0x000014a6: DW_TAG_subprogram
DW_AT_low_pc (0x0000000000202ae0)
DW_AT_high_pc (0x0000000000202b18)
DW_AT_frame_base (DW_OP_reg6 RBP)
DW_AT_specification (0x00000048 "_ZN4coro12promise_type17get_return_objectEv")
0x000014b9: DW_TAG_subprogram
DW_AT_low_pc (0x0000000000202b20)
DW_AT_high_pc (0x0000000000202b2a)
DW_AT_frame_base (DW_OP_reg6 RBP)
DW_AT_specification (0x0000005d "_ZN4coro12promise_type15initial_suspendEv")
0x000014cc: DW_TAG_subprogram
DW_AT_low_pc (0x0000000000202b30)
DW_AT_high_pc (0x0000000000202b41)
DW_AT_frame_base (DW_OP_reg6 RBP)
DW_AT_specification (0x0000027f "_ZNKSt12experimental13coroutines_v113suspend_never11await_readyEv")
0x000014df: DW_TAG_subprogram
DW_AT_low_pc (0x0000000000202b50)
DW_AT_high_pc (0x0000000000202b5e)
DW_AT_frame_base (DW_OP_reg6 RBP)
DW_AT_specification (0x00000295 "_ZNKSt12experimental13coroutines_v113suspend_never13await_suspendENS0_16coroutine_handleIvEE")
0x000014f2: DW_TAG_subprogram
DW_AT_low_pc (0x0000000000202b60)
DW_AT_high_pc (0x0000000000202b87)
DW_AT_frame_base (DW_OP_reg6 RBP)
DW_AT_specification (0x0000010d "_ZNSt12experimental13coroutines_v116coroutine_handleIN4coro12promise_typeEE12from_addressEPv")
0x00001505: DW_TAG_variable
DW_AT_location (0x00000000:
[0x0000000000202b70, 0x0000000000202b75): DW_OP_breg5 RDI+0)
DW_AT_name ("__tmp")
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/experimental/coroutine")
DW_AT_decl_line (221)
DW_AT_type (0x000000cc "coroutine_handle<coro::promise_type>")
0x00001514: NULL
0x00001515: DW_TAG_subprogram
DW_AT_low_pc (0x0000000000202b90)
DW_AT_high_pc (0x0000000000202b9a)
DW_AT_frame_base (DW_OP_reg6 RBP)
DW_AT_specification (0x000002ac "_ZNKSt12experimental13coroutines_v113suspend_never12await_resumeEv")
0x00001528: DW_TAG_pointer_type
DW_AT_type (0x0000152d "const suspend_always")
0x0000152d: DW_TAG_const_type
DW_AT_type (0x000002bf "suspend_always")
0x00001532: DW_TAG_subprogram
DW_AT_low_pc (0x0000000000202ba0)
DW_AT_high_pc (0x0000000000202bb1)
DW_AT_frame_base (DW_OP_reg6 RBP)
DW_AT_specification (0x000002c9 "_ZNKSt12experimental13coroutines_v114suspend_always11await_readyEv")
0x00001545: DW_TAG_subprogram
DW_AT_low_pc (0x0000000000202bc0)
DW_AT_high_pc (0x0000000000202bce)
DW_AT_frame_base (DW_OP_reg6 RBP)
DW_AT_specification (0x000002df "_ZNKSt12experimental13coroutines_v114suspend_always13await_suspendENS0_16coroutine_handleIvEE")
0x00001558: DW_TAG_subprogram
DW_AT_low_pc (0x0000000000202bd0)
DW_AT_high_pc (0x0000000000202bda)
DW_AT_frame_base (DW_OP_reg6 RBP)
DW_AT_specification (0x000002f6 "_ZNKSt12experimental13coroutines_v114suspend_always12await_resumeEv")
0x0000156b: DW_TAG_subprogram
DW_AT_low_pc (0x0000000000202be0)
DW_AT_high_pc (0x0000000000202bea)
DW_AT_frame_base (DW_OP_reg6 RBP)
DW_AT_specification (0x00000087 "_ZN4coro12promise_type11return_voidEv")
0x0000157e: DW_TAG_subprogram
DW_AT_low_pc (0x0000000000202bf0)
DW_AT_high_pc (0x0000000000202bfa)
DW_AT_frame_base (DW_OP_reg6 RBP)
DW_AT_specification (0x00000072 "_ZN4coro12promise_type13final_suspendEv")
0x00001591: DW_TAG_subprogram
DW_AT_low_pc (0x0000000000202010)
DW_AT_high_pc (0x0000000000202041)
DW_AT_frame_base (DW_OP_reg6 RBP)
DW_AT_name ("main")
DW_AT_decl_file ("/home/modocache/Source/tmp/coro02242020/repro.cpp")
DW_AT_decl_line (53)
DW_AT_type (0x000007d8 "int")
DW_AT_external (true)
0x000015aa: DW_TAG_subprogram
DW_AT_low_pc (0x0000000000202c00)
DW_AT_high_pc (0x0000000000202c1e)
DW_AT_frame_base (DW_OP_reg6 RBP)
DW_AT_specification (0x000001f4 "_ZNSt12experimental13coroutines_v116coroutine_handleIvE6resumeEv")
0x000015bd: DW_TAG_subprogram
DW_AT_low_pc (0x0000000000202c20)
DW_AT_high_pc (0x0000000000202c52)
DW_AT_frame_base (DW_OP_reg6 RBP)
DW_AT_specification (0x00000139 "_ZNSt12experimental13coroutines_v116coroutine_handleIN4coro12promise_typeEE12from_promiseERS3_")
0x000015d0: DW_TAG_variable
DW_AT_location (0x00000034:
[0x0000000000202c30, 0x0000000000202c35): DW_OP_breg5 RDI+0)
DW_AT_name ("__tmp")
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/experimental/coroutine")
DW_AT_decl_line (252)
DW_AT_type (0x000000cc "coroutine_handle<coro::promise_type>")
0x000015df: NULL
0x000015e0: DW_TAG_subprogram
DW_AT_low_pc (0x0000000000202c60)
DW_AT_high_pc (0x0000000000202c79)
DW_AT_frame_base (DW_OP_reg6 RBP)
DW_AT_linkage_name ("_ZN4coroC2ENSt12experimental13coroutines_v116coroutine_handleINS_12promise_typeEEE")
DW_AT_specification (0x000000aa "coro")
0x000015f7: DW_TAG_subprogram
DW_AT_low_pc (0x0000000000202c80)
DW_AT_high_pc (0x0000000000202c9e)
DW_AT_frame_base (DW_OP_reg6 RBP)
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/experimental/coroutine")
DW_AT_decl_line (196)
DW_AT_linkage_name ("_ZNSt12experimental13coroutines_v116coroutine_handleIN4coro12promise_typeEEC2Ev")
DW_AT_specification (0x00000158 "coroutine_handle")
0x00001610: DW_TAG_subprogram
DW_AT_low_pc (0x0000000000202cb0)
DW_AT_high_pc (0x0000000000202cc5)
DW_AT_frame_base (DW_OP_reg6 RBP)
DW_AT_linkage_name ("_ZNSt12experimental13coroutines_v116coroutine_handleIvEC2Ev")
DW_AT_specification (0x0000017a "coroutine_handle")
0x00001627: DW_TAG_subprogram
DW_AT_low_pc (0x0000000000202060)
DW_AT_high_pc (0x00000000002023c1)
DW_AT_frame_base (DW_OP_reg6 RBP)
DW_AT_linkage_name ("_Z3foov")
DW_AT_name ("foo")
DW_AT_decl_file ("/home/modocache/Source/tmp/coro02242020/repro.cpp")
DW_AT_decl_line (23)
DW_AT_type (0x0000002a "coro")
DW_AT_external (true)
0x00001644: DW_TAG_lexical_block
DW_AT_low_pc (0x00000000002020db)
DW_AT_high_pc (0x00000000002022b0)
0x00001651: DW_TAG_variable
DW_AT_name ("i")
DW_AT_decl_file ("/home/modocache/Source/tmp/coro02242020/repro.cpp")
DW_AT_decl_line (24)
DW_AT_type (0x000007d8 "int")
0x0000165c: DW_TAG_variable
DW_AT_name ("j")
DW_AT_decl_file ("/home/modocache/Source/tmp/coro02242020/repro.cpp")
DW_AT_decl_line (32)
DW_AT_type (0x000007d8 "int")
0x00001667: NULL
0x00001668: NULL
0x00001669: DW_TAG_subprogram
DW_AT_low_pc (0x00000000002023d0)
DW_AT_high_pc (0x0000000000202758)
DW_AT_frame_base (DW_OP_reg6 RBP)
DW_AT_linkage_name ("_Z3foov")
DW_AT_name ("foo")
DW_AT_decl_file ("/home/modocache/Source/tmp/coro02242020/repro.cpp")
DW_AT_decl_line (23)
DW_AT_type (0x0000002a "coro")
DW_AT_external (true)
0x00001686: DW_TAG_lexical_block
DW_AT_low_pc (0x000000000020244b)
DW_AT_high_pc (0x0000000000202620)
0x00001693: DW_TAG_variable
DW_AT_name ("i")
DW_AT_decl_file ("/home/modocache/Source/tmp/coro02242020/repro.cpp")
DW_AT_decl_line (24)
DW_AT_type (0x000007d8 "int")
0x0000169e: DW_TAG_variable
DW_AT_name ("j")
DW_AT_decl_file ("/home/modocache/Source/tmp/coro02242020/repro.cpp")
DW_AT_decl_line (32)
DW_AT_type (0x000007d8 "int")
0x000016a9: NULL
0x000016aa: NULL
0x000016ab: DW_TAG_subprogram
DW_AT_low_pc (0x0000000000202760)
DW_AT_high_pc (0x0000000000202ae0)
DW_AT_frame_base (DW_OP_reg6 RBP)
DW_AT_linkage_name ("_Z3foov")
DW_AT_name ("foo")
DW_AT_decl_file ("/home/modocache/Source/tmp/coro02242020/repro.cpp")
DW_AT_decl_line (23)
DW_AT_type (0x0000002a "coro")
DW_AT_external (true)
0x000016c8: DW_TAG_lexical_block
DW_AT_low_pc (0x00000000002027db)
DW_AT_high_pc (0x00000000002029b0)
0x000016d5: DW_TAG_variable
DW_AT_name ("i")
DW_AT_decl_file ("/home/modocache/Source/tmp/coro02242020/repro.cpp")
DW_AT_decl_line (24)
DW_AT_type (0x000007d8 "int")
0x000016e0: DW_TAG_variable
DW_AT_name ("j")
DW_AT_decl_file ("/home/modocache/Source/tmp/coro02242020/repro.cpp")
DW_AT_decl_line (32)
DW_AT_type (0x000007d8 "int")
0x000016eb: NULL
0x000016ec: NULL
0x000016ed: DW_TAG_pointer_type
DW_AT_type (0x0000003f "promise_type")
0x000016f2: NULL
; ModuleID = '/home/modocache/Source/tmp/coro02242020/repro.cpp'
source_filename = "/home/modocache/Source/tmp/coro02242020/repro.cpp"
target datalayout = "e-m:e-p270:32:32-p271:32:32-p272:64:64-i64:64-f80:128-n8:16:32:64-S128"
target triple = "x86_64-unknown-linux-gnu"
%"struct.coro::promise_type" = type { i8 }
%_Z3foov.Frame = type { void (%_Z3foov.Frame*)*, void (%_Z3foov.Frame*)*, %"struct.coro::promise_type", i2, %"struct.std::experimental::coroutines_v1::suspend_never", %"class.std::experimental::coroutines_v1::coroutine_handle.0", %"class.std::experimental::coroutines_v1::coroutine_handle", i32, %"struct.std::experimental::coroutines_v1::suspend_always", %"class.std::experimental::coroutines_v1::coroutine_handle.0", %"class.std::experimental::coroutines_v1::coroutine_handle", i32, %"struct.std::experimental::coroutines_v1::suspend_always", %"class.std::experimental::coroutines_v1::coroutine_handle.0", %"class.std::experimental::coroutines_v1::coroutine_handle", %"struct.std::experimental::coroutines_v1::suspend_never", %"class.std::experimental::coroutines_v1::coroutine_handle.0", %"class.std::experimental::coroutines_v1::coroutine_handle" }
%"struct.std::experimental::coroutines_v1::suspend_always" = type { i8 }
%"struct.std::experimental::coroutines_v1::suspend_never" = type { i8 }
%"class.std::experimental::coroutines_v1::coroutine_handle.0" = type { i8* }
%"class.std::experimental::coroutines_v1::coroutine_handle" = type { %"class.std::experimental::coroutines_v1::coroutine_handle.0" }
%struct.coro = type { %"class.std::experimental::coroutines_v1::coroutine_handle" }
$_ZN4coro12promise_type17get_return_objectEv = comdat any
$_ZN4coro12promise_type15initial_suspendEv = comdat any
$_ZNKSt12experimental13coroutines_v113suspend_never11await_readyEv = comdat any
$_ZNKSt12experimental13coroutines_v113suspend_never13await_suspendENS0_16coroutine_handleIvEE = comdat any
$_ZNSt12experimental13coroutines_v116coroutine_handleIN4coro12promise_typeEE12from_addressEPv = comdat any
$_ZNKSt12experimental13coroutines_v113suspend_never12await_resumeEv = comdat any
$_ZNKSt12experimental13coroutines_v114suspend_always11await_readyEv = comdat any
$_ZNKSt12experimental13coroutines_v114suspend_always13await_suspendENS0_16coroutine_handleIvEE = comdat any
$_ZNKSt12experimental13coroutines_v114suspend_always12await_resumeEv = comdat any
$_ZN4coro12promise_type11return_voidEv = comdat any
$_ZN4coro12promise_type13final_suspendEv = comdat any
$_ZNSt12experimental13coroutines_v116coroutine_handleIvE6resumeEv = comdat any
$_ZNSt12experimental13coroutines_v116coroutine_handleIN4coro12promise_typeEE12from_promiseERS3_ = comdat any
$_ZN4coroC2ENSt12experimental13coroutines_v116coroutine_handleINS_12promise_typeEEE = comdat any
$_ZNSt12experimental13coroutines_v116coroutine_handleIN4coro12promise_typeEEC2Ev = comdat any
$_ZNSt3__19addressofIN4coro12promise_typeEEEPT_RS3_ = comdat any
$_ZNSt12experimental13coroutines_v116coroutine_handleIvEC2Ev = comdat any
@__const._Z3foov.__promise = private unnamed_addr constant %"struct.coro::promise_type" undef, align 1
@.str = private unnamed_addr constant [4 x i8] c"%d\0A\00", align 1
@.str.1 = private unnamed_addr constant [8 x i8] c"%d, %d\0A\00", align 1
@_Z3foov.resumers = private constant [3 x void (%_Z3foov.Frame*)*] [void (%_Z3foov.Frame*)* @_Z3foov.resume, void (%_Z3foov.Frame*)* @_Z3foov.destroy, void (%_Z3foov.Frame*)* @_Z3foov.cleanup]
; Function Attrs: noinline nounwind optnone uwtable
define dso_local i8* @_Z3foov() #0 !dbg !648 {
entry:
%retval = alloca %struct.coro, align 8
%gro.active = alloca i1, align 1
%0 = alloca %"struct.coro::promise_type", align 1
%1 = alloca %"struct.std::experimental::coroutines_v1::suspend_never", align 1
%undef.agg.tmp = alloca %"struct.std::experimental::coroutines_v1::suspend_never", align 1
%agg.tmp = alloca %"class.std::experimental::coroutines_v1::coroutine_handle.0", align 8
%ref.tmp5 = alloca %"class.std::experimental::coroutines_v1::coroutine_handle", align 8
%i = alloca i32, align 4
%ref.tmp11 = alloca %"struct.std::experimental::coroutines_v1::suspend_always", align 1
%agg.tmp13 = alloca %"class.std::experimental::coroutines_v1::coroutine_handle.0", align 8
%ref.tmp14 = alloca %"class.std::experimental::coroutines_v1::coroutine_handle", align 8
%j = alloca i32, align 4
%ref.tmp22 = alloca %"struct.std::experimental::coroutines_v1::suspend_always", align 1
%agg.tmp24 = alloca %"class.std::experimental::coroutines_v1::coroutine_handle.0", align 8
%ref.tmp25 = alloca %"class.std::experimental::coroutines_v1::coroutine_handle", align 8
%ref.tmp33 = alloca %"struct.std::experimental::coroutines_v1::suspend_never", align 1
%undef.agg.tmp34 = alloca %"struct.std::experimental::coroutines_v1::suspend_never", align 1
%agg.tmp36 = alloca %"class.std::experimental::coroutines_v1::coroutine_handle.0", align 8
%ref.tmp37 = alloca %"class.std::experimental::coroutines_v1::coroutine_handle", align 8
call void @coro.devirt.trigger(i8* null)
br i1 true, label %coro.alloc, label %coro.init.from.entry, !dbg !650
coro.init.from.entry: ; preds = %entry
%.coro.init = phi i8* [ null, %entry ]
br label %coro.init, !dbg !650
coro.alloc: ; preds = %entry
%call = call i8* @_Znwm(i64 112), !dbg !651
br label %coro.init.from.coro.alloc, !dbg !650
coro.init.from.coro.alloc: ; preds = %coro.alloc
%call.coro.init = phi i8* [ %call, %coro.alloc ]
br label %coro.init, !dbg !650
coro.init: ; preds = %coro.init.from.entry, %coro.init.from.coro.alloc
%2 = phi i8* [ %.coro.init, %coro.init.from.entry ], [ %call.coro.init, %coro.init.from.coro.alloc ], !dbg !650
%FramePtr = bitcast i8* %2 to %_Z3foov.Frame*, !dbg !650
%resume.addr = getelementptr inbounds %_Z3foov.Frame, %_Z3foov.Frame* %FramePtr, i32 0, i32 0, !dbg !650
store void (%_Z3foov.Frame*)* @_Z3foov.resume, void (%_Z3foov.Frame*)** %resume.addr, !dbg !650
%3 = select i1 true, void (%_Z3foov.Frame*)* @_Z3foov.destroy, void (%_Z3foov.Frame*)* @_Z3foov.cleanup, !dbg !650
%destroy.addr = getelementptr inbounds %_Z3foov.Frame, %_Z3foov.Frame* %FramePtr, i32 0, i32 1, !dbg !650
store void (%_Z3foov.Frame*)* %3, void (%_Z3foov.Frame*)** %destroy.addr, !dbg !650
br label %AllocaSpillBB, !dbg !650
AllocaSpillBB: ; preds = %coro.init
%__promise = getelementptr inbounds %_Z3foov.Frame, %_Z3foov.Frame* %FramePtr, i32 0, i32 2, !dbg !650
%ref.tmp = getelementptr inbounds %_Z3foov.Frame, %_Z3foov.Frame* %FramePtr, i32 0, i32 4, !dbg !650
br label %PostSpill, !dbg !650
PostSpill: ; preds = %AllocaSpillBB
store i1 false, i1* %gro.active, align 1, !dbg !650
call void @llvm.dbg.addr(metadata %struct.coro* %retval, metadata !652, metadata !DIExpression()), !dbg !651
call void @llvm.dbg.addr(metadata %"struct.coro::promise_type"* %0, metadata !653, metadata !DIExpression()), !dbg !651
%4 = bitcast %"struct.coro::promise_type"* %__promise to i8*, !dbg !651
call void @llvm.memcpy.p0i8.p0i8.i64(i8* align 1 %4, i8* align 1 getelementptr inbounds (%"struct.coro::promise_type", %"struct.coro::promise_type"* @__const._Z3foov.__promise, i32 0, i32 0), i64 1, i1 false), !dbg !651
%call1 = call i8* @_ZN4coro12promise_type17get_return_objectEv(%"struct.coro::promise_type"* %__promise), !dbg !651
%coerce.dive = getelementptr inbounds %struct.coro, %struct.coro* %retval, i32 0, i32 0, !dbg !651
%coerce.dive2 = getelementptr inbounds %"class.std::experimental::coroutines_v1::coroutine_handle", %"class.std::experimental::coroutines_v1::coroutine_handle"* %coerce.dive, i32 0, i32 0, !dbg !651
%coerce.dive3 = getelementptr inbounds %"class.std::experimental::coroutines_v1::coroutine_handle.0", %"class.std::experimental::coroutines_v1::coroutine_handle.0"* %coerce.dive2, i32 0, i32 0, !dbg !651
store i8* %call1, i8** %coerce.dive3, align 8, !dbg !651
store i1 true, i1* %gro.active, align 1, !dbg !651
call void @_ZN4coro12promise_type15initial_suspendEv(%"struct.coro::promise_type"* %__promise), !dbg !651
%call4 = call zeroext i1 @_ZNKSt12experimental13coroutines_v113suspend_never11await_readyEv(%"struct.std::experimental::coroutines_v1::suspend_never"* %ref.tmp) #2, !dbg !651
br i1 %call4, label %init.ready, label %CoroSave, !dbg !651
CoroSave: ; preds = %PostSpill
%index.addr72 = getelementptr inbounds %_Z3foov.Frame, %_Z3foov.Frame* %FramePtr, i32 0, i32 3, !dbg !651
store i2 0, i2* %index.addr72, !dbg !651
br label %AfterCoroSave, !dbg !651
AfterCoroSave: ; preds = %CoroSave
%ref.tmp5.reload.addr = getelementptr inbounds %_Z3foov.Frame, %_Z3foov.Frame* %FramePtr, i32 0, i32 6, !dbg !651
%agg.tmp.reload.addr = getelementptr inbounds %_Z3foov.Frame, %_Z3foov.Frame* %FramePtr, i32 0, i32 5, !dbg !651
%ref.tmp.reload.addr61 = getelementptr inbounds %_Z3foov.Frame, %_Z3foov.Frame* %FramePtr, i32 0, i32 4, !dbg !651
%call6 = call i8* @_ZNSt12experimental13coroutines_v116coroutine_handleIN4coro12promise_typeEE12from_addressEPv(i8* %2) #2, !dbg !651
%coerce.dive7 = getelementptr inbounds %"class.std::experimental::coroutines_v1::coroutine_handle", %"class.std::experimental::coroutines_v1::coroutine_handle"* %ref.tmp5.reload.addr, i32 0, i32 0, !dbg !651
%coerce.dive8 = getelementptr inbounds %"class.std::experimental::coroutines_v1::coroutine_handle.0", %"class.std::experimental::coroutines_v1::coroutine_handle.0"* %coerce.dive7, i32 0, i32 0, !dbg !651
store i8* %call6, i8** %coerce.dive8, align 8, !dbg !651
%5 = bitcast %"class.std::experimental::coroutines_v1::coroutine_handle"* %ref.tmp5.reload.addr to %"class.std::experimental::coroutines_v1::coroutine_handle.0"*, !dbg !651
%6 = bitcast %"class.std::experimental::coroutines_v1::coroutine_handle.0"* %agg.tmp.reload.addr to i8*, !dbg !651
%7 = bitcast %"class.std::experimental::coroutines_v1::coroutine_handle.0"* %5 to i8*, !dbg !651
call void @llvm.memcpy.p0i8.p0i8.i64(i8* align 8 %6, i8* align 8 %7, i64 8, i1 false), !dbg !651
%coerce.dive9 = getelementptr inbounds %"class.std::experimental::coroutines_v1::coroutine_handle.0", %"class.std::experimental::coroutines_v1::coroutine_handle.0"* %agg.tmp.reload.addr, i32 0, i32 0, !dbg !651
%8 = load i8*, i8** %coerce.dive9, align 8, !dbg !651
call void @_ZNKSt12experimental13coroutines_v113suspend_never13await_suspendENS0_16coroutine_handleIvEE(%"struct.std::experimental::coroutines_v1::suspend_never"* %ref.tmp.reload.addr61, i8* %8) #2, !dbg !651
br label %CoroSuspend, !dbg !651
CoroSuspend: ; preds = %AfterCoroSave
br label %resume.0.landing, !dbg !651
resume.0.landing: ; preds = %CoroSuspend
br label %AfterCoroSuspend, !dbg !651
AfterCoroSuspend: ; preds = %resume.0.landing
switch i8 -1, label %coro.ret [
i8 0, label %init.ready
i8 1, label %init.cleanup
], !dbg !651
init.cleanup: ; preds = %AfterCoroSuspend
br label %cleanup.from.init.cleanup, !dbg !651
cleanup.from.init.cleanup: ; preds = %init.cleanup
%.cleanup60 = phi i32 [ 2, %init.cleanup ]
br label %cleanup, !dbg !651
init.ready: ; preds = %AfterCoroSuspend, %PostSpill
%ref.tmp11.reload.addr65 = getelementptr inbounds %_Z3foov.Frame, %_Z3foov.Frame* %FramePtr, i32 0, i32 8, !dbg !651
%i.reload.addr63 = getelementptr inbounds %_Z3foov.Frame, %_Z3foov.Frame* %FramePtr, i32 0, i32 7, !dbg !651
%ref.tmp.reload.addr = getelementptr inbounds %_Z3foov.Frame, %_Z3foov.Frame* %FramePtr, i32 0, i32 4, !dbg !651
call void @_ZNKSt12experimental13coroutines_v113suspend_never12await_resumeEv(%"struct.std::experimental::coroutines_v1::suspend_never"* %ref.tmp.reload.addr) #2, !dbg !651
call void @llvm.dbg.addr(metadata i32* %i, metadata !659, metadata !DIExpression()), !dbg !661
store i32 0, i32* %i.reload.addr63, align 4, !dbg !661
%9 = load i32, i32* %i.reload.addr63, align 4, !dbg !662
%inc = add nsw i32 %9, 1, !dbg !662
store i32 %inc, i32* %i.reload.addr63, align 4, !dbg !662
%10 = load i32, i32* %i.reload.addr63, align 4, !dbg !663
%call10 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str, i64 0, i64 0), i32 %10), !dbg !664
%call12 = call zeroext i1 @_ZNKSt12experimental13coroutines_v114suspend_always11await_readyEv(%"struct.std::experimental::coroutines_v1::suspend_always"* %ref.tmp11.reload.addr65) #2, !dbg !665
br i1 %call12, label %await.ready, label %CoroSave45, !dbg !666
CoroSave45: ; preds = %init.ready
%index.addr73 = getelementptr inbounds %_Z3foov.Frame, %_Z3foov.Frame* %FramePtr, i32 0, i32 3, !dbg !666
store i2 1, i2* %index.addr73, !dbg !666
br label %AfterCoroSave46, !dbg !665
AfterCoroSave46: ; preds = %CoroSave45
%ref.tmp14.reload.addr = getelementptr inbounds %_Z3foov.Frame, %_Z3foov.Frame* %FramePtr, i32 0, i32 10, !dbg !665
%agg.tmp13.reload.addr = getelementptr inbounds %_Z3foov.Frame, %_Z3foov.Frame* %FramePtr, i32 0, i32 9, !dbg !665
%ref.tmp11.reload.addr64 = getelementptr inbounds %_Z3foov.Frame, %_Z3foov.Frame* %FramePtr, i32 0, i32 8, !dbg !665
%call15 = call i8* @_ZNSt12experimental13coroutines_v116coroutine_handleIN4coro12promise_typeEE12from_addressEPv(i8* %2) #2, !dbg !665
%coerce.dive16 = getelementptr inbounds %"class.std::experimental::coroutines_v1::coroutine_handle", %"class.std::experimental::coroutines_v1::coroutine_handle"* %ref.tmp14.reload.addr, i32 0, i32 0, !dbg !665
%coerce.dive17 = getelementptr inbounds %"class.std::experimental::coroutines_v1::coroutine_handle.0", %"class.std::experimental::coroutines_v1::coroutine_handle.0"* %coerce.dive16, i32 0, i32 0, !dbg !665
store i8* %call15, i8** %coerce.dive17, align 8, !dbg !665
%11 = bitcast %"class.std::experimental::coroutines_v1::coroutine_handle"* %ref.tmp14.reload.addr to %"class.std::experimental::coroutines_v1::coroutine_handle.0"*, !dbg !665
%12 = bitcast %"class.std::experimental::coroutines_v1::coroutine_handle.0"* %agg.tmp13.reload.addr to i8*, !dbg !665
%13 = bitcast %"class.std::experimental::coroutines_v1::coroutine_handle.0"* %11 to i8*, !dbg !665
call void @llvm.memcpy.p0i8.p0i8.i64(i8* align 8 %12, i8* align 8 %13, i64 8, i1 false), !dbg !665
%coerce.dive18 = getelementptr inbounds %"class.std::experimental::coroutines_v1::coroutine_handle.0", %"class.std::experimental::coroutines_v1::coroutine_handle.0"* %agg.tmp13.reload.addr, i32 0, i32 0, !dbg !665
%14 = load i8*, i8** %coerce.dive18, align 8, !dbg !665
call void @_ZNKSt12experimental13coroutines_v114suspend_always13await_suspendENS0_16coroutine_handleIvEE(%"struct.std::experimental::coroutines_v1::suspend_always"* %ref.tmp11.reload.addr64, i8* %14) #2, !dbg !665
br label %CoroSuspend47, !dbg !666
CoroSuspend47: ; preds = %AfterCoroSave46
br label %resume.1.landing, !dbg !666
resume.1.landing: ; preds = %CoroSuspend47
br label %AfterCoroSuspend48, !dbg !666
AfterCoroSuspend48: ; preds = %resume.1.landing
switch i8 -1, label %coro.ret [
i8 0, label %await.ready
i8 1, label %await.cleanup
], !dbg !666
await.cleanup: ; preds = %AfterCoroSuspend48
br label %cleanup.from.await.cleanup, !dbg !666
cleanup.from.await.cleanup: ; preds = %await.cleanup
%.cleanup59 = phi i32 [ 2, %await.cleanup ]
br label %cleanup, !dbg !666
await.ready: ; preds = %AfterCoroSuspend48, %init.ready
%ref.tmp22.reload.addr68 = getelementptr inbounds %_Z3foov.Frame, %_Z3foov.Frame* %FramePtr, i32 0, i32 12, !dbg !665
%j.reload.addr66 = getelementptr inbounds %_Z3foov.Frame, %_Z3foov.Frame* %FramePtr, i32 0, i32 11, !dbg !665
%ref.tmp11.reload.addr = getelementptr inbounds %_Z3foov.Frame, %_Z3foov.Frame* %FramePtr, i32 0, i32 8, !dbg !665
%i.reload.addr62 = getelementptr inbounds %_Z3foov.Frame, %_Z3foov.Frame* %FramePtr, i32 0, i32 7, !dbg !665
call void @_ZNKSt12experimental13coroutines_v114suspend_always12await_resumeEv(%"struct.std::experimental::coroutines_v1::suspend_always"* %ref.tmp11.reload.addr) #2, !dbg !665
call void @llvm.dbg.addr(metadata i32* %j, metadata !667, metadata !DIExpression()), !dbg !668
store i32 0, i32* %j.reload.addr66, align 4, !dbg !668
%15 = load i32, i32* %i.reload.addr62, align 4, !dbg !669
%inc19 = add nsw i32 %15, 1, !dbg !669
store i32 %inc19, i32* %i.reload.addr62, align 4, !dbg !669
%16 = load i32, i32* %j.reload.addr66, align 4, !dbg !670
%inc20 = add nsw i32 %16, 1, !dbg !670
store i32 %inc20, i32* %j.reload.addr66, align 4, !dbg !670
%17 = load i32, i32* %i.reload.addr62, align 4, !dbg !671
%18 = load i32, i32* %j.reload.addr66, align 4, !dbg !672
%call21 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.1, i64 0, i64 0), i32 %17, i32 %18), !dbg !673
%call23 = call zeroext i1 @_ZNKSt12experimental13coroutines_v114suspend_always11await_readyEv(%"struct.std::experimental::coroutines_v1::suspend_always"* %ref.tmp22.reload.addr68) #2, !dbg !674
br i1 %call23, label %await2.ready, label %CoroSave49, !dbg !675
CoroSave49: ; preds = %await.ready
%index.addr74 = getelementptr inbounds %_Z3foov.Frame, %_Z3foov.Frame* %FramePtr, i32 0, i32 3, !dbg !675
store i2 -2, i2* %index.addr74, !dbg !675
br label %AfterCoroSave50, !dbg !674
AfterCoroSave50: ; preds = %CoroSave49
%ref.tmp25.reload.addr = getelementptr inbounds %_Z3foov.Frame, %_Z3foov.Frame* %FramePtr, i32 0, i32 14, !dbg !674
%agg.tmp24.reload.addr = getelementptr inbounds %_Z3foov.Frame, %_Z3foov.Frame* %FramePtr, i32 0, i32 13, !dbg !674
%ref.tmp22.reload.addr67 = getelementptr inbounds %_Z3foov.Frame, %_Z3foov.Frame* %FramePtr, i32 0, i32 12, !dbg !674
%call26 = call i8* @_ZNSt12experimental13coroutines_v116coroutine_handleIN4coro12promise_typeEE12from_addressEPv(i8* %2) #2, !dbg !674
%coerce.dive27 = getelementptr inbounds %"class.std::experimental::coroutines_v1::coroutine_handle", %"class.std::experimental::coroutines_v1::coroutine_handle"* %ref.tmp25.reload.addr, i32 0, i32 0, !dbg !674
%coerce.dive28 = getelementptr inbounds %"class.std::experimental::coroutines_v1::coroutine_handle.0", %"class.std::experimental::coroutines_v1::coroutine_handle.0"* %coerce.dive27, i32 0, i32 0, !dbg !674
store i8* %call26, i8** %coerce.dive28, align 8, !dbg !674
%19 = bitcast %"class.std::experimental::coroutines_v1::coroutine_handle"* %ref.tmp25.reload.addr to %"class.std::experimental::coroutines_v1::coroutine_handle.0"*, !dbg !674
%20 = bitcast %"class.std::experimental::coroutines_v1::coroutine_handle.0"* %agg.tmp24.reload.addr to i8*, !dbg !674
%21 = bitcast %"class.std::experimental::coroutines_v1::coroutine_handle.0"* %19 to i8*, !dbg !674
call void @llvm.memcpy.p0i8.p0i8.i64(i8* align 8 %20, i8* align 8 %21, i64 8, i1 false), !dbg !674
%coerce.dive29 = getelementptr inbounds %"class.std::experimental::coroutines_v1::coroutine_handle.0", %"class.std::experimental::coroutines_v1::coroutine_handle.0"* %agg.tmp24.reload.addr, i32 0, i32 0, !dbg !674
%22 = load i8*, i8** %coerce.dive29, align 8, !dbg !674
call void @_ZNKSt12experimental13coroutines_v114suspend_always13await_suspendENS0_16coroutine_handleIvEE(%"struct.std::experimental::coroutines_v1::suspend_always"* %ref.tmp22.reload.addr67, i8* %22) #2, !dbg !674
br label %CoroSuspend51, !dbg !675
CoroSuspend51: ; preds = %AfterCoroSave50
br label %resume.2.landing, !dbg !675
resume.2.landing: ; preds = %CoroSuspend51
br label %AfterCoroSuspend52, !dbg !675
AfterCoroSuspend52: ; preds = %resume.2.landing
switch i8 -1, label %coro.ret [
i8 0, label %await2.ready
i8 1, label %await2.cleanup
], !dbg !675
await2.cleanup: ; preds = %AfterCoroSuspend52
br label %cleanup.from.await2.cleanup, !dbg !675
cleanup.from.await2.cleanup: ; preds = %await2.cleanup
%.cleanup58 = phi i32 [ 2, %await2.cleanup ]
br label %cleanup, !dbg !675
await2.ready: ; preds = %AfterCoroSuspend52, %await.ready
%ref.tmp22.reload.addr = getelementptr inbounds %_Z3foov.Frame, %_Z3foov.Frame* %FramePtr, i32 0, i32 12, !dbg !674
%j.reload.addr = getelementptr inbounds %_Z3foov.Frame, %_Z3foov.Frame* %FramePtr, i32 0, i32 11, !dbg !674
%i.reload.addr = getelementptr inbounds %_Z3foov.Frame, %_Z3foov.Frame* %FramePtr, i32 0, i32 7, !dbg !674
call void @_ZNKSt12experimental13coroutines_v114suspend_always12await_resumeEv(%"struct.std::experimental::coroutines_v1::suspend_always"* %ref.tmp22.reload.addr) #2, !dbg !674
%23 = load i32, i32* %i.reload.addr, align 4, !dbg !676
%inc30 = add nsw i32 %23, 1, !dbg !676
store i32 %inc30, i32* %i.reload.addr, align 4, !dbg !676
%24 = load i32, i32* %j.reload.addr, align 4, !dbg !677
%inc31 = add nsw i32 %24, 1, !dbg !677
store i32 %inc31, i32* %j.reload.addr, align 4, !dbg !677
%25 = load i32, i32* %j.reload.addr, align 4, !dbg !678
%26 = load i32, i32* %i.reload.addr, align 4, !dbg !679
%call32 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.1, i64 0, i64 0), i32 %25, i32 %26), !dbg !680
call void @_ZN4coro12promise_type11return_voidEv(%"struct.coro::promise_type"* %__promise), !dbg !651
br label %coro.final, !dbg !651
coro.final: ; preds = %await2.ready
%ref.tmp33.reload.addr70 = getelementptr inbounds %_Z3foov.Frame, %_Z3foov.Frame* %FramePtr, i32 0, i32 15, !dbg !651
call void @_ZN4coro12promise_type13final_suspendEv(%"struct.coro::promise_type"* %__promise), !dbg !651
%call35 = call zeroext i1 @_ZNKSt12experimental13coroutines_v113suspend_never11await_readyEv(%"struct.std::experimental::coroutines_v1::suspend_never"* %ref.tmp33.reload.addr70) #2, !dbg !651
br i1 %call35, label %final.ready, label %CoroSave53, !dbg !651
CoroSave53: ; preds = %coro.final
%ResumeFn.addr = getelementptr inbounds %_Z3foov.Frame, %_Z3foov.Frame* %FramePtr, i32 0, i32 0, !dbg !651
store void (%_Z3foov.Frame*)* null, void (%_Z3foov.Frame*)** %ResumeFn.addr, !dbg !651
br label %AfterCoroSave54, !dbg !651
AfterCoroSave54: ; preds = %CoroSave53
%ref.tmp37.reload.addr = getelementptr inbounds %_Z3foov.Frame, %_Z3foov.Frame* %FramePtr, i32 0, i32 17, !dbg !651
%agg.tmp36.reload.addr = getelementptr inbounds %_Z3foov.Frame, %_Z3foov.Frame* %FramePtr, i32 0, i32 16, !dbg !651
%ref.tmp33.reload.addr69 = getelementptr inbounds %_Z3foov.Frame, %_Z3foov.Frame* %FramePtr, i32 0, i32 15, !dbg !651
%call38 = call i8* @_ZNSt12experimental13coroutines_v116coroutine_handleIN4coro12promise_typeEE12from_addressEPv(i8* %2) #2, !dbg !651
%coerce.dive39 = getelementptr inbounds %"class.std::experimental::coroutines_v1::coroutine_handle", %"class.std::experimental::coroutines_v1::coroutine_handle"* %ref.tmp37.reload.addr, i32 0, i32 0, !dbg !651
%coerce.dive40 = getelementptr inbounds %"class.std::experimental::coroutines_v1::coroutine_handle.0", %"class.std::experimental::coroutines_v1::coroutine_handle.0"* %coerce.dive39, i32 0, i32 0, !dbg !651
store i8* %call38, i8** %coerce.dive40, align 8, !dbg !651
%27 = bitcast %"class.std::experimental::coroutines_v1::coroutine_handle"* %ref.tmp37.reload.addr to %"class.std::experimental::coroutines_v1::coroutine_handle.0"*, !dbg !651
%28 = bitcast %"class.std::experimental::coroutines_v1::coroutine_handle.0"* %agg.tmp36.reload.addr to i8*, !dbg !651
%29 = bitcast %"class.std::experimental::coroutines_v1::coroutine_handle.0"* %27 to i8*, !dbg !651
call void @llvm.memcpy.p0i8.p0i8.i64(i8* align 8 %28, i8* align 8 %29, i64 8, i1 false), !dbg !651
%coerce.dive41 = getelementptr inbounds %"class.std::experimental::coroutines_v1::coroutine_handle.0", %"class.std::experimental::coroutines_v1::coroutine_handle.0"* %agg.tmp36.reload.addr, i32 0, i32 0, !dbg !651
%30 = load i8*, i8** %coerce.dive41, align 8, !dbg !651
call void @_ZNKSt12experimental13coroutines_v113suspend_never13await_suspendENS0_16coroutine_handleIvEE(%"struct.std::experimental::coroutines_v1::suspend_never"* %ref.tmp33.reload.addr69, i8* %30) #2, !dbg !651
br label %CoroSuspend55, !dbg !651
CoroSuspend55: ; preds = %AfterCoroSave54
br label %resume.3.landing, !dbg !651
resume.3.landing: ; preds = %CoroSuspend55
br label %AfterCoroSuspend56, !dbg !651
AfterCoroSuspend56: ; preds = %resume.3.landing
switch i8 -1, label %coro.ret [
i8 0, label %final.ready
i8 1, label %final.cleanup
], !dbg !651
final.cleanup: ; preds = %AfterCoroSuspend56
br label %cleanup.from.final.cleanup, !dbg !651
cleanup.from.final.cleanup: ; preds = %final.cleanup
%.cleanup57 = phi i32 [ 2, %final.cleanup ]
br label %cleanup, !dbg !651
final.ready: ; preds = %AfterCoroSuspend56, %coro.final
%ref.tmp33.reload.addr = getelementptr inbounds %_Z3foov.Frame, %_Z3foov.Frame* %FramePtr, i32 0, i32 15, !dbg !651
call void @_ZNKSt12experimental13coroutines_v113suspend_never12await_resumeEv(%"struct.std::experimental::coroutines_v1::suspend_never"* %ref.tmp33.reload.addr) #2, !dbg !651
br label %cleanup.from.final.ready, !dbg !651
cleanup.from.final.ready: ; preds = %final.ready
%.cleanup = phi i32 [ 0, %final.ready ]
br label %cleanup, !dbg !651
cleanup: ; preds = %cleanup.from.final.ready, %cleanup.from.final.cleanup, %cleanup.from.await2.cleanup, %cleanup.from.await.cleanup, %cleanup.from.init.cleanup
%cleanup.dest.slot.0 = phi i32 [ %.cleanup, %cleanup.from.final.ready ], [ %.cleanup57, %cleanup.from.final.cleanup ], [ %.cleanup58, %cleanup.from.await2.cleanup ], [ %.cleanup59, %cleanup.from.await.cleanup ], [ %.cleanup60, %cleanup.from.init.cleanup ]
%31 = icmp ne i8* %2, null, !dbg !651
br i1 %31, label %coro.free, label %after.coro.free, !dbg !651
coro.free: ; preds = %cleanup
call void @_ZdlPv(i8* %2) #2, !dbg !651
br label %after.coro.free, !dbg !651
after.coro.free: ; preds = %cleanup, %coro.free
switch i32 %cleanup.dest.slot.0, label %unreachable [
i32 0, label %cleanup.cont
i32 2, label %coro.ret
]
cleanup.cont: ; preds = %after.coro.free
br label %coro.ret, !dbg !651
coro.ret: ; preds = %cleanup.cont, %after.coro.free, %AfterCoroSuspend56, %AfterCoroSuspend52, %AfterCoroSuspend48, %AfterCoroSuspend
br label %CoroEnd, !dbg !651
CoroEnd: ; preds = %coro.ret
br label %AfterCoroEnd, !dbg !651
AfterCoroEnd: ; preds = %CoroEnd
%coerce.dive42 = getelementptr inbounds %struct.coro, %struct.coro* %retval, i32 0, i32 0, !dbg !651
%coerce.dive43 = getelementptr inbounds %"class.std::experimental::coroutines_v1::coroutine_handle", %"class.std::experimental::coroutines_v1::coroutine_handle"* %coerce.dive42, i32 0, i32 0, !dbg !651
%coerce.dive44 = getelementptr inbounds %"class.std::experimental::coroutines_v1::coroutine_handle.0", %"class.std::experimental::coroutines_v1::coroutine_handle.0"* %coerce.dive43, i32 0, i32 0, !dbg !651
%32 = load i8*, i8** %coerce.dive44, align 8, !dbg !651
ret i8* %32, !dbg !651
unreachable: ; preds = %after.coro.free
unreachable
}
; Function Attrs: argmemonly nounwind readonly
declare token @llvm.coro.id(i32, i8* readnone, i8* nocapture readonly, i8*) #1
; Function Attrs: nounwind
declare i1 @llvm.coro.alloc(token) #2
; Function Attrs: nobuiltin
declare dso_local noalias i8* @_Znwm(i64) #3
; Function Attrs: nounwind readnone
declare i64 @llvm.coro.size.i64() #4
; Function Attrs: nounwind
declare i8* @llvm.coro.begin(token, i8* writeonly) #2
; Function Attrs: nounwind readnone speculatable willreturn
declare void @llvm.dbg.addr(metadata, metadata, metadata) #5
; Function Attrs: argmemonly nounwind willreturn
declare void @llvm.memcpy.p0i8.p0i8.i64(i8* noalias nocapture writeonly, i8* noalias nocapture readonly, i64, i1 immarg) #6
; Function Attrs: noinline nounwind optnone uwtable
define linkonce_odr dso_local i8* @_ZN4coro12promise_type17get_return_objectEv(%"struct.coro::promise_type"* %this) #0 comdat align 2 !dbg !681 {
entry:
%retval = alloca %struct.coro, align 8
%this.addr = alloca %"struct.coro::promise_type"*, align 8
%handle = alloca %"class.std::experimental::coroutines_v1::coroutine_handle", align 8
%agg.tmp = alloca %"class.std::experimental::coroutines_v1::coroutine_handle", align 8
store %"struct.coro::promise_type"* %this, %"struct.coro::promise_type"** %this.addr, align 8
call void @llvm.dbg.addr(metadata %"struct.coro::promise_type"** %this.addr, metadata !682, metadata !DIExpression()), !dbg !684
%this1 = load %"struct.coro::promise_type"*, %"struct.coro::promise_type"** %this.addr, align 8
call void @llvm.dbg.addr(metadata %"class.std::experimental::coroutines_v1::coroutine_handle"* %handle, metadata !685, metadata !DIExpression()), !dbg !686
%call = call i8* @_ZNSt12experimental13coroutines_v116coroutine_handleIN4coro12promise_typeEE12from_promiseERS3_(%"struct.coro::promise_type"* dereferenceable(1) %this1) #2, !dbg !687
%coerce.dive = getelementptr inbounds %"class.std::experimental::coroutines_v1::coroutine_handle", %"class.std::experimental::coroutines_v1::coroutine_handle"* %handle, i32 0, i32 0, !dbg !687
%coerce.dive2 = getelementptr inbounds %"class.std::experimental::coroutines_v1::coroutine_handle.0", %"class.std::experimental::coroutines_v1::coroutine_handle.0"* %coerce.dive, i32 0, i32 0, !dbg !687
store i8* %call, i8** %coerce.dive2, align 8, !dbg !687
%0 = bitcast %"class.std::experimental::coroutines_v1::coroutine_handle"* %agg.tmp to i8*, !dbg !688
%1 = bitcast %"class.std::experimental::coroutines_v1::coroutine_handle"* %handle to i8*, !dbg !688
call void @llvm.memcpy.p0i8.p0i8.i64(i8* align 8 %0, i8* align 8 %1, i64 8, i1 false), !dbg !688
%coerce.dive3 = getelementptr inbounds %"class.std::experimental::coroutines_v1::coroutine_handle", %"class.std::experimental::coroutines_v1::coroutine_handle"* %agg.tmp, i32 0, i32 0, !dbg !689
%coerce.dive4 = getelementptr inbounds %"class.std::experimental::coroutines_v1::coroutine_handle.0", %"class.std::experimental::coroutines_v1::coroutine_handle.0"* %coerce.dive3, i32 0, i32 0, !dbg !689
%2 = load i8*, i8** %coerce.dive4, align 8, !dbg !689
call void @_ZN4coroC2ENSt12experimental13coroutines_v116coroutine_handleINS_12promise_typeEEE(%struct.coro* %retval, i8* %2), !dbg !689
%coerce.dive5 = getelementptr inbounds %struct.coro, %struct.coro* %retval, i32 0, i32 0, !dbg !690
%coerce.dive6 = getelementptr inbounds %"class.std::experimental::coroutines_v1::coroutine_handle", %"class.std::experimental::coroutines_v1::coroutine_handle"* %coerce.dive5, i32 0, i32 0, !dbg !690
%coerce.dive7 = getelementptr inbounds %"class.std::experimental::coroutines_v1::coroutine_handle.0", %"class.std::experimental::coroutines_v1::coroutine_handle.0"* %coerce.dive6, i32 0, i32 0, !dbg !690
%3 = load i8*, i8** %coerce.dive7, align 8, !dbg !690
ret i8* %3, !dbg !690
}
; Function Attrs: noinline nounwind optnone uwtable
define linkonce_odr dso_local void @_ZN4coro12promise_type15initial_suspendEv(%"struct.coro::promise_type"* %this) #0 comdat align 2 !dbg !691 {
entry:
%this.addr = alloca %"struct.coro::promise_type"*, align 8
store %"struct.coro::promise_type"* %this, %"struct.coro::promise_type"** %this.addr, align 8
call void @llvm.dbg.addr(metadata %"struct.coro::promise_type"** %this.addr, metadata !692, metadata !DIExpression()), !dbg !693
%this1 = load %"struct.coro::promise_type"*, %"struct.coro::promise_type"** %this.addr, align 8
ret void, !dbg !694
}
; Function Attrs: noinline nounwind optnone uwtable
define linkonce_odr hidden zeroext i1 @_ZNKSt12experimental13coroutines_v113suspend_never11await_readyEv(%"struct.std::experimental::coroutines_v1::suspend_never"* %this) #0 comdat align 2 !dbg !695 {
entry:
%this.addr = alloca %"struct.std::experimental::coroutines_v1::suspend_never"*, align 8
store %"struct.std::experimental::coroutines_v1::suspend_never"* %this, %"struct.std::experimental::coroutines_v1::suspend_never"** %this.addr, align 8
call void @llvm.dbg.addr(metadata %"struct.std::experimental::coroutines_v1::suspend_never"** %this.addr, metadata !696, metadata !DIExpression()), !dbg !698
%this1 = load %"struct.std::experimental::coroutines_v1::suspend_never"*, %"struct.std::experimental::coroutines_v1::suspend_never"** %this.addr, align 8
ret i1 true, !dbg !699
}
; Function Attrs: nounwind
declare token @llvm.coro.save(i8*) #2
; Function Attrs: noinline nounwind optnone uwtable
define linkonce_odr hidden void @_ZNKSt12experimental13coroutines_v113suspend_never13await_suspendENS0_16coroutine_handleIvEE(%"struct.std::experimental::coroutines_v1::suspend_never"* %this, i8* %.coerce) #0 comdat align 2 !dbg !700 {
entry:
%0 = alloca %"class.std::experimental::coroutines_v1::coroutine_handle.0", align 8
%this.addr = alloca %"struct.std::experimental::coroutines_v1::suspend_never"*, align 8
%coerce.dive = getelementptr inbounds %"class.std::experimental::coroutines_v1::coroutine_handle.0", %"class.std::experimental::coroutines_v1::coroutine_handle.0"* %0, i32 0, i32 0
store i8* %.coerce, i8** %coerce.dive, align 8
store %"struct.std::experimental::coroutines_v1::suspend_never"* %this, %"struct.std::experimental::coroutines_v1::suspend_never"** %this.addr, align 8
call void @llvm.dbg.addr(metadata %"struct.std::experimental::coroutines_v1::suspend_never"** %this.addr, metadata !701, metadata !DIExpression()), !dbg !702
call void @llvm.dbg.addr(metadata %"class.std::experimental::coroutines_v1::coroutine_handle.0"* %0, metadata !703, metadata !DIExpression()), !dbg !704
%this1 = load %"struct.std::experimental::coroutines_v1::suspend_never"*, %"struct.std::experimental::coroutines_v1::suspend_never"** %this.addr, align 8
ret void, !dbg !705
}
; Function Attrs: noinline nounwind optnone uwtable
define linkonce_odr hidden i8* @_ZNSt12experimental13coroutines_v116coroutine_handleIN4coro12promise_typeEE12from_addressEPv(i8* %__addr) #0 comdat align 2 !dbg !706 {
entry:
%retval = alloca %"class.std::experimental::coroutines_v1::coroutine_handle", align 8
%__addr.addr = alloca i8*, align 8
store i8* %__addr, i8** %__addr.addr, align 8
call void @llvm.dbg.addr(metadata i8** %__addr.addr, metadata !707, metadata !DIExpression()), !dbg !708
call void @llvm.dbg.addr(metadata %"class.std::experimental::coroutines_v1::coroutine_handle"* %retval, metadata !709, metadata !DIExpression()), !dbg !710
call void @_ZNSt12experimental13coroutines_v116coroutine_handleIN4coro12promise_typeEEC2Ev(%"class.std::experimental::coroutines_v1::coroutine_handle"* %retval) #2, !dbg !710
%0 = load i8*, i8** %__addr.addr, align 8, !dbg !711
%1 = bitcast %"class.std::experimental::coroutines_v1::coroutine_handle"* %retval to %"class.std::experimental::coroutines_v1::coroutine_handle.0"*, !dbg !712
%__handle_ = getelementptr inbounds %"class.std::experimental::coroutines_v1::coroutine_handle.0", %"class.std::experimental::coroutines_v1::coroutine_handle.0"* %1, i32 0, i32 0, !dbg !713
store i8* %0, i8** %__handle_, align 8, !dbg !714
%coerce.dive = getelementptr inbounds %"class.std::experimental::coroutines_v1::coroutine_handle", %"class.std::experimental::coroutines_v1::coroutine_handle"* %retval, i32 0, i32 0, !dbg !715
%coerce.dive1 = getelementptr inbounds %"class.std::experimental::coroutines_v1::coroutine_handle.0", %"class.std::experimental::coroutines_v1::coroutine_handle.0"* %coerce.dive, i32 0, i32 0, !dbg !715
%2 = load i8*, i8** %coerce.dive1, align 8, !dbg !715
ret i8* %2, !dbg !715
}
; Function Attrs: nounwind
declare i8 @llvm.coro.suspend(token, i1) #2
; Function Attrs: noinline nounwind optnone uwtable
define linkonce_odr hidden void @_ZNKSt12experimental13coroutines_v113suspend_never12await_resumeEv(%"struct.std::experimental::coroutines_v1::suspend_never"* %this) #0 comdat align 2 !dbg !716 {
entry:
%this.addr = alloca %"struct.std::experimental::coroutines_v1::suspend_never"*, align 8
store %"struct.std::experimental::coroutines_v1::suspend_never"* %this, %"struct.std::experimental::coroutines_v1::suspend_never"** %this.addr, align 8
call void @llvm.dbg.addr(metadata %"struct.std::experimental::coroutines_v1::suspend_never"** %this.addr, metadata !717, metadata !DIExpression()), !dbg !718
%this1 = load %"struct.std::experimental::coroutines_v1::suspend_never"*, %"struct.std::experimental::coroutines_v1::suspend_never"** %this.addr, align 8
ret void, !dbg !719
}
declare dso_local i32 @printf(i8*, ...) #7
; Function Attrs: noinline nounwind optnone uwtable
define linkonce_odr hidden zeroext i1 @_ZNKSt12experimental13coroutines_v114suspend_always11await_readyEv(%"struct.std::experimental::coroutines_v1::suspend_always"* %this) #0 comdat align 2 !dbg !720 {
entry:
%this.addr = alloca %"struct.std::experimental::coroutines_v1::suspend_always"*, align 8
store %"struct.std::experimental::coroutines_v1::suspend_always"* %this, %"struct.std::experimental::coroutines_v1::suspend_always"** %this.addr, align 8
call void @llvm.dbg.addr(metadata %"struct.std::experimental::coroutines_v1::suspend_always"** %this.addr, metadata !734, metadata !DIExpression()), !dbg !736
%this1 = load %"struct.std::experimental::coroutines_v1::suspend_always"*, %"struct.std::experimental::coroutines_v1::suspend_always"** %this.addr, align 8
ret i1 false, !dbg !737
}
; Function Attrs: noinline nounwind optnone uwtable
define linkonce_odr hidden void @_ZNKSt12experimental13coroutines_v114suspend_always13await_suspendENS0_16coroutine_handleIvEE(%"struct.std::experimental::coroutines_v1::suspend_always"* %this, i8* %.coerce) #0 comdat align 2 !dbg !738 {
entry:
%0 = alloca %"class.std::experimental::coroutines_v1::coroutine_handle.0", align 8
%this.addr = alloca %"struct.std::experimental::coroutines_v1::suspend_always"*, align 8
%coerce.dive = getelementptr inbounds %"class.std::experimental::coroutines_v1::coroutine_handle.0", %"class.std::experimental::coroutines_v1::coroutine_handle.0"* %0, i32 0, i32 0
store i8* %.coerce, i8** %coerce.dive, align 8
store %"struct.std::experimental::coroutines_v1::suspend_always"* %this, %"struct.std::experimental::coroutines_v1::suspend_always"** %this.addr, align 8
call void @llvm.dbg.addr(metadata %"struct.std::experimental::coroutines_v1::suspend_always"** %this.addr, metadata !739, metadata !DIExpression()), !dbg !740
call void @llvm.dbg.addr(metadata %"class.std::experimental::coroutines_v1::coroutine_handle.0"* %0, metadata !741, metadata !DIExpression()), !dbg !742
%this1 = load %"struct.std::experimental::coroutines_v1::suspend_always"*, %"struct.std::experimental::coroutines_v1::suspend_always"** %this.addr, align 8
ret void, !dbg !743
}
; Function Attrs: noinline nounwind optnone uwtable
define linkonce_odr hidden void @_ZNKSt12experimental13coroutines_v114suspend_always12await_resumeEv(%"struct.std::experimental::coroutines_v1::suspend_always"* %this) #0 comdat align 2 !dbg !744 {
entry:
%this.addr = alloca %"struct.std::experimental::coroutines_v1::suspend_always"*, align 8
store %"struct.std::experimental::coroutines_v1::suspend_always"* %this, %"struct.std::experimental::coroutines_v1::suspend_always"** %this.addr, align 8
call void @llvm.dbg.addr(metadata %"struct.std::experimental::coroutines_v1::suspend_always"** %this.addr, metadata !745, metadata !DIExpression()), !dbg !746
%this1 = load %"struct.std::experimental::coroutines_v1::suspend_always"*, %"struct.std::experimental::coroutines_v1::suspend_always"** %this.addr, align 8
ret void, !dbg !747
}
; Function Attrs: noinline nounwind optnone uwtable
define linkonce_odr dso_local void @_ZN4coro12promise_type11return_voidEv(%"struct.coro::promise_type"* %this) #0 comdat align 2 !dbg !748 {
entry:
%this.addr = alloca %"struct.coro::promise_type"*, align 8
store %"struct.coro::promise_type"* %this, %"struct.coro::promise_type"** %this.addr, align 8
call void @llvm.dbg.addr(metadata %"struct.coro::promise_type"** %this.addr, metadata !749, metadata !DIExpression()), !dbg !750
%this1 = load %"struct.coro::promise_type"*, %"struct.coro::promise_type"** %this.addr, align 8
ret void, !dbg !751
}
; Function Attrs: noinline nounwind optnone uwtable
define linkonce_odr dso_local void @_ZN4coro12promise_type13final_suspendEv(%"struct.coro::promise_type"* %this) #0 comdat align 2 !dbg !752 {
entry:
%this.addr = alloca %"struct.coro::promise_type"*, align 8
store %"struct.coro::promise_type"* %this, %"struct.coro::promise_type"** %this.addr, align 8
call void @llvm.dbg.addr(metadata %"struct.coro::promise_type"** %this.addr, metadata !753, metadata !DIExpression()), !dbg !754
%this1 = load %"struct.coro::promise_type"*, %"struct.coro::promise_type"** %this.addr, align 8
ret void, !dbg !755
}
; Function Attrs: nobuiltin nounwind
declare dso_local void @_ZdlPv(i8*) #8
; Function Attrs: argmemonly nounwind readonly
declare i8* @llvm.coro.free(token, i8* nocapture readonly) #1
; Function Attrs: nounwind
declare i1 @llvm.coro.end(i8*, i1) #2
; Function Attrs: noinline norecurse nounwind optnone uwtable
define dso_local i32 @main() #9 !dbg !756 {
entry:
%c = alloca %struct.coro, align 8
call void @llvm.dbg.addr(metadata %struct.coro* %c, metadata !757, metadata !DIExpression()), !dbg !758
%call = call i8* @_Z3foov(), !dbg !759
%coerce.dive = getelementptr inbounds %struct.coro, %struct.coro* %c, i32 0, i32 0, !dbg !759
%coerce.dive1 = getelementptr inbounds %"class.std::experimental::coroutines_v1::coroutine_handle", %"class.std::experimental::coroutines_v1::coroutine_handle"* %coerce.dive, i32 0, i32 0, !dbg !759
%coerce.dive2 = getelementptr inbounds %"class.std::experimental::coroutines_v1::coroutine_handle.0", %"class.std::experimental::coroutines_v1::coroutine_handle.0"* %coerce.dive1, i32 0, i32 0, !dbg !759
store i8* %call, i8** %coerce.dive2, align 8, !dbg !759
%handle = getelementptr inbounds %struct.coro, %struct.coro* %c, i32 0, i32 0, !dbg !760
%0 = bitcast %"class.std::experimental::coroutines_v1::coroutine_handle"* %handle to %"class.std::experimental::coroutines_v1::coroutine_handle.0"*, !dbg !761
call void @_ZNSt12experimental13coroutines_v116coroutine_handleIvE6resumeEv(%"class.std::experimental::coroutines_v1::coroutine_handle.0"* %0), !dbg !762
%handle3 = getelementptr inbounds %struct.coro, %struct.coro* %c, i32 0, i32 0, !dbg !763
%1 = bitcast %"class.std::experimental::coroutines_v1::coroutine_handle"* %handle3 to %"class.std::experimental::coroutines_v1::coroutine_handle.0"*, !dbg !764
call void @_ZNSt12experimental13coroutines_v116coroutine_handleIvE6resumeEv(%"class.std::experimental::coroutines_v1::coroutine_handle.0"* %1), !dbg !765
ret i32 0, !dbg !766
}
; Function Attrs: noinline nounwind optnone uwtable
define linkonce_odr hidden void @_ZNSt12experimental13coroutines_v116coroutine_handleIvE6resumeEv(%"class.std::experimental::coroutines_v1::coroutine_handle.0"* %this) #0 comdat align 2 !dbg !767 {
entry:
%this.addr = alloca %"class.std::experimental::coroutines_v1::coroutine_handle.0"*, align 8
store %"class.std::experimental::coroutines_v1::coroutine_handle.0"* %this, %"class.std::experimental::coroutines_v1::coroutine_handle.0"** %this.addr, align 8
call void @llvm.dbg.addr(metadata %"class.std::experimental::coroutines_v1::coroutine_handle.0"** %this.addr, metadata !768, metadata !DIExpression()), !dbg !770
%this1 = load %"class.std::experimental::coroutines_v1::coroutine_handle.0"*, %"class.std::experimental::coroutines_v1::coroutine_handle.0"** %this.addr, align 8
%__handle_ = getelementptr inbounds %"class.std::experimental::coroutines_v1::coroutine_handle.0", %"class.std::experimental::coroutines_v1::coroutine_handle.0"* %this1, i32 0, i32 0, !dbg !771
%0 = load i8*, i8** %__handle_, align 8, !dbg !771
%1 = bitcast i8* %0 to { i8*, i8* }*
%2 = getelementptr inbounds { i8*, i8* }, { i8*, i8* }* %1, i32 0, i32 0
%3 = load i8*, i8** %2
%4 = bitcast i8* %3 to void (i8*)*
call fastcc void %4(i8* %0), !dbg !772
ret void, !dbg !773
}
; Function Attrs: noinline nounwind optnone uwtable
define linkonce_odr hidden i8* @_ZNSt12experimental13coroutines_v116coroutine_handleIN4coro12promise_typeEE12from_promiseERS3_(%"struct.coro::promise_type"* dereferenceable(1) %__promise) #0 comdat align 2 !dbg !774 {
entry:
%retval = alloca %"class.std::experimental::coroutines_v1::coroutine_handle", align 8
%__promise.addr = alloca %"struct.coro::promise_type"*, align 8
store %"struct.coro::promise_type"* %__promise, %"struct.coro::promise_type"** %__promise.addr, align 8
call void @llvm.dbg.addr(metadata %"struct.coro::promise_type"** %__promise.addr, metadata !775, metadata !DIExpression()), !dbg !776
call void @llvm.dbg.addr(metadata %"class.std::experimental::coroutines_v1::coroutine_handle"* %retval, metadata !777, metadata !DIExpression()), !dbg !778
call void @_ZNSt12experimental13coroutines_v116coroutine_handleIN4coro12promise_typeEEC2Ev(%"class.std::experimental::coroutines_v1::coroutine_handle"* %retval) #2, !dbg !778
%0 = load %"struct.coro::promise_type"*, %"struct.coro::promise_type"** %__promise.addr, align 8, !dbg !779
%call = call %"struct.coro::promise_type"* @_ZNSt3__19addressofIN4coro12promise_typeEEEPT_RS3_(%"struct.coro::promise_type"* dereferenceable(1) %0) #2, !dbg !780
%1 = bitcast %"struct.coro::promise_type"* %call to i8*, !dbg !780
%2 = getelementptr inbounds i8, i8* %1, i32 -16, !dbg !781
%3 = bitcast %"class.std::experimental::coroutines_v1::coroutine_handle"* %retval to %"class.std::experimental::coroutines_v1::coroutine_handle.0"*, !dbg !782
%__handle_ = getelementptr inbounds %"class.std::experimental::coroutines_v1::coroutine_handle.0", %"class.std::experimental::coroutines_v1::coroutine_handle.0"* %3, i32 0, i32 0, !dbg !783
store i8* %2, i8** %__handle_, align 8, !dbg !784
%coerce.dive = getelementptr inbounds %"class.std::experimental::coroutines_v1::coroutine_handle", %"class.std::experimental::coroutines_v1::coroutine_handle"* %retval, i32 0, i32 0, !dbg !785
%coerce.dive1 = getelementptr inbounds %"class.std::experimental::coroutines_v1::coroutine_handle.0", %"class.std::experimental::coroutines_v1::coroutine_handle.0"* %coerce.dive, i32 0, i32 0, !dbg !785
%4 = load i8*, i8** %coerce.dive1, align 8, !dbg !785
ret i8* %4, !dbg !785
}
; Function Attrs: noinline nounwind optnone uwtable
define linkonce_odr dso_local void @_ZN4coroC2ENSt12experimental13coroutines_v116coroutine_handleINS_12promise_typeEEE(%struct.coro* %this, i8* %handle.coerce) unnamed_addr #0 comdat align 2 !dbg !786 {
entry:
%handle = alloca %"class.std::experimental::coroutines_v1::coroutine_handle", align 8
%this.addr = alloca %struct.coro*, align 8
%coerce.dive = getelementptr inbounds %"class.std::experimental::coroutines_v1::coroutine_handle", %"class.std::experimental::coroutines_v1::coroutine_handle"* %handle, i32 0, i32 0
%coerce.dive1 = getelementptr inbounds %"class.std::experimental::coroutines_v1::coroutine_handle.0", %"class.std::experimental::coroutines_v1::coroutine_handle.0"* %coerce.dive, i32 0, i32 0
store i8* %handle.coerce, i8** %coerce.dive1, align 8
store %struct.coro* %this, %struct.coro** %this.addr, align 8
call void @llvm.dbg.addr(metadata %struct.coro** %this.addr, metadata !787, metadata !DIExpression()), !dbg !789
call void @llvm.dbg.addr(metadata %"class.std::experimental::coroutines_v1::coroutine_handle"* %handle, metadata !790, metadata !DIExpression()), !dbg !791
%this2 = load %struct.coro*, %struct.coro** %this.addr, align 8
%handle3 = getelementptr inbounds %struct.coro, %struct.coro* %this2, i32 0, i32 0, !dbg !792
%0 = bitcast %"class.std::experimental::coroutines_v1::coroutine_handle"* %handle3 to i8*, !dbg !792
%1 = bitcast %"class.std::experimental::coroutines_v1::coroutine_handle"* %handle to i8*, !dbg !792
call void @llvm.memcpy.p0i8.p0i8.i64(i8* align 8 %0, i8* align 8 %1, i64 8, i1 false), !dbg !792
ret void, !dbg !793
}
; Function Attrs: noinline nounwind optnone uwtable
define linkonce_odr dso_local void @_ZNSt12experimental13coroutines_v116coroutine_handleIN4coro12promise_typeEEC2Ev(%"class.std::experimental::coroutines_v1::coroutine_handle"* %this) unnamed_addr #0 comdat align 2 !dbg !794 {
entry:
%this.addr = alloca %"class.std::experimental::coroutines_v1::coroutine_handle"*, align 8
store %"class.std::experimental::coroutines_v1::coroutine_handle"* %this, %"class.std::experimental::coroutines_v1::coroutine_handle"** %this.addr, align 8
call void @llvm.dbg.addr(metadata %"class.std::experimental::coroutines_v1::coroutine_handle"** %this.addr, metadata !798, metadata !DIExpression()), !dbg !800
%this1 = load %"class.std::experimental::coroutines_v1::coroutine_handle"*, %"class.std::experimental::coroutines_v1::coroutine_handle"** %this.addr, align 8
%0 = bitcast %"class.std::experimental::coroutines_v1::coroutine_handle"* %this1 to %"class.std::experimental::coroutines_v1::coroutine_handle.0"*, !dbg !801
call void @_ZNSt12experimental13coroutines_v116coroutine_handleIvEC2Ev(%"class.std::experimental::coroutines_v1::coroutine_handle.0"* %0) #2, !dbg !801
ret void, !dbg !801
}
; Function Attrs: noinline nounwind optnone uwtable
define linkonce_odr hidden %"struct.coro::promise_type"* @_ZNSt3__19addressofIN4coro12promise_typeEEEPT_RS3_(%"struct.coro::promise_type"* dereferenceable(1) %__x) #0 comdat !dbg !802 {
entry:
%__x.addr = alloca %"struct.coro::promise_type"*, align 8
store %"struct.coro::promise_type"* %__x, %"struct.coro::promise_type"** %__x.addr, align 8
call void @llvm.dbg.addr(metadata %"struct.coro::promise_type"** %__x.addr, metadata !808, metadata !DIExpression()), !dbg !809
%0 = load %"struct.coro::promise_type"*, %"struct.coro::promise_type"** %__x.addr, align 8, !dbg !810
ret %"struct.coro::promise_type"* %0, !dbg !811
}
; Function Attrs: nounwind readnone
declare i8* @llvm.coro.promise(i8* nocapture, i32, i1) #4
; Function Attrs: noinline nounwind optnone uwtable
define linkonce_odr hidden void @_ZNSt12experimental13coroutines_v116coroutine_handleIvEC2Ev(%"class.std::experimental::coroutines_v1::coroutine_handle.0"* %this) unnamed_addr #0 comdat align 2 !dbg !812 {
entry:
%this.addr = alloca %"class.std::experimental::coroutines_v1::coroutine_handle.0"*, align 8
store %"class.std::experimental::coroutines_v1::coroutine_handle.0"* %this, %"class.std::experimental::coroutines_v1::coroutine_handle.0"** %this.addr, align 8
call void @llvm.dbg.addr(metadata %"class.std::experimental::coroutines_v1::coroutine_handle.0"** %this.addr, metadata !813, metadata !DIExpression()), !dbg !814
%this1 = load %"class.std::experimental::coroutines_v1::coroutine_handle.0"*, %"class.std::experimental::coroutines_v1::coroutine_handle.0"** %this.addr, align 8
%__handle_ = getelementptr inbounds %"class.std::experimental::coroutines_v1::coroutine_handle.0", %"class.std::experimental::coroutines_v1::coroutine_handle.0"* %this1, i32 0, i32 0, !dbg !815
store i8* null, i8** %__handle_, align 8, !dbg !815
ret void, !dbg !816
}
declare void @llvm.coro.resume(i8*)
; Function Attrs: argmemonly nounwind readonly
declare i8* @llvm.coro.subfn.addr(i8* nocapture readonly, i8) #1
; Function Attrs: alwaysinline
define private void @coro.devirt.trigger(i8* %0) #10 {
entry:
ret void
}
; Function Attrs: noinline nounwind optnone uwtable
define internal fastcc void @_Z3foov.resume(%_Z3foov.Frame* noalias nonnull %FramePtr) #0 !dbg !817 {
entry.resume:
%vFrame = bitcast %_Z3foov.Frame* %FramePtr to i8*, !dbg !818
%__promise = getelementptr inbounds %_Z3foov.Frame, %_Z3foov.Frame* %FramePtr, i32 0, i32 2, !dbg !818
%ref.tmp = getelementptr inbounds %_Z3foov.Frame, %_Z3foov.Frame* %FramePtr, i32 0, i32 4, !dbg !818
br label %resume.entry, !dbg !818
resume.0: ; preds = %resume.entry
br label %resume.0.landing, !dbg !819
resume.0.landing: ; preds = %resume.0
br label %AfterCoroSuspend, !dbg !819
AfterCoroSuspend: ; preds = %resume.0.landing
switch i8 0, label %coro.ret [
i8 0, label %init.ready
i8 1, label %init.cleanup
], !dbg !819
init.cleanup: ; preds = %AfterCoroSuspend
br label %cleanup.from.init.cleanup, !dbg !819
cleanup.from.init.cleanup: ; preds = %init.cleanup
%.cleanup60 = phi i32 [ 2, %init.cleanup ]
br label %cleanup, !dbg !819
init.ready: ; preds = %AfterCoroSuspend
%ref.tmp11.reload.addr65 = getelementptr inbounds %_Z3foov.Frame, %_Z3foov.Frame* %FramePtr, i32 0, i32 8, !dbg !819
%i.reload.addr63 = getelementptr inbounds %_Z3foov.Frame, %_Z3foov.Frame* %FramePtr, i32 0, i32 7, !dbg !819
%ref.tmp.reload.addr = getelementptr inbounds %_Z3foov.Frame, %_Z3foov.Frame* %FramePtr, i32 0, i32 4, !dbg !819
call void @_ZNKSt12experimental13coroutines_v113suspend_never12await_resumeEv(%"struct.std::experimental::coroutines_v1::suspend_never"* %ref.tmp.reload.addr) #2, !dbg !819
call void @llvm.dbg.addr(metadata !2, metadata !820, metadata !DIExpression()), !dbg !822
store i32 0, i32* %i.reload.addr63, align 4, !dbg !822
%0 = load i32, i32* %i.reload.addr63, align 4, !dbg !823
%inc = add nsw i32 %0, 1, !dbg !823
store i32 %inc, i32* %i.reload.addr63, align 4, !dbg !823
%1 = load i32, i32* %i.reload.addr63, align 4, !dbg !824
%call10 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str, i64 0, i64 0), i32 %1), !dbg !825
%call12 = call zeroext i1 @_ZNKSt12experimental13coroutines_v114suspend_always11await_readyEv(%"struct.std::experimental::coroutines_v1::suspend_always"* %ref.tmp11.reload.addr65) #2, !dbg !826
br i1 %call12, label %await.ready, label %CoroSave45, !dbg !827
CoroSave45: ; preds = %init.ready
%index.addr73 = getelementptr inbounds %_Z3foov.Frame, %_Z3foov.Frame* %FramePtr, i32 0, i32 3, !dbg !827
store i2 1, i2* %index.addr73, !dbg !827
br label %AfterCoroSave46, !dbg !826
AfterCoroSave46: ; preds = %CoroSave45
%ref.tmp14.reload.addr = getelementptr inbounds %_Z3foov.Frame, %_Z3foov.Frame* %FramePtr, i32 0, i32 10, !dbg !826
%agg.tmp13.reload.addr = getelementptr inbounds %_Z3foov.Frame, %_Z3foov.Frame* %FramePtr, i32 0, i32 9, !dbg !826
%ref.tmp11.reload.addr64 = getelementptr inbounds %_Z3foov.Frame, %_Z3foov.Frame* %FramePtr, i32 0, i32 8, !dbg !826
%call15 = call i8* @_ZNSt12experimental13coroutines_v116coroutine_handleIN4coro12promise_typeEE12from_addressEPv(i8* %vFrame) #2, !dbg !826
%coerce.dive16 = getelementptr inbounds %"class.std::experimental::coroutines_v1::coroutine_handle", %"class.std::experimental::coroutines_v1::coroutine_handle"* %ref.tmp14.reload.addr, i32 0, i32 0, !dbg !826
%coerce.dive17 = getelementptr inbounds %"class.std::experimental::coroutines_v1::coroutine_handle.0", %"class.std::experimental::coroutines_v1::coroutine_handle.0"* %coerce.dive16, i32 0, i32 0, !dbg !826
store i8* %call15, i8** %coerce.dive17, align 8, !dbg !826
%2 = bitcast %"class.std::experimental::coroutines_v1::coroutine_handle"* %ref.tmp14.reload.addr to %"class.std::experimental::coroutines_v1::coroutine_handle.0"*, !dbg !826
%3 = bitcast %"class.std::experimental::coroutines_v1::coroutine_handle.0"* %agg.tmp13.reload.addr to i8*, !dbg !826
%4 = bitcast %"class.std::experimental::coroutines_v1::coroutine_handle.0"* %2 to i8*, !dbg !826
call void @llvm.memcpy.p0i8.p0i8.i64(i8* align 8 %3, i8* align 8 %4, i64 8, i1 false), !dbg !826
%coerce.dive18 = getelementptr inbounds %"class.std::experimental::coroutines_v1::coroutine_handle.0", %"class.std::experimental::coroutines_v1::coroutine_handle.0"* %agg.tmp13.reload.addr, i32 0, i32 0, !dbg !826
%5 = load i8*, i8** %coerce.dive18, align 8, !dbg !826
call void @_ZNKSt12experimental13coroutines_v114suspend_always13await_suspendENS0_16coroutine_handleIvEE(%"struct.std::experimental::coroutines_v1::suspend_always"* %ref.tmp11.reload.addr64, i8* %5) #2, !dbg !826
br label %CoroSuspend47, !dbg !827
CoroSuspend47: ; preds = %AfterCoroSave46
br label %resume.1.landing, !dbg !827
resume.1: ; preds = %resume.entry
br label %resume.1.landing, !dbg !827
resume.1.landing: ; preds = %resume.1, %CoroSuspend47
%6 = phi i8 [ -1, %CoroSuspend47 ], [ 0, %resume.1 ]
br label %AfterCoroSuspend48, !dbg !827
AfterCoroSuspend48: ; preds = %resume.1.landing
switch i8 %6, label %coro.ret [
i8 0, label %await.ready
i8 1, label %await.cleanup
], !dbg !827
await.cleanup: ; preds = %AfterCoroSuspend48
br label %cleanup.from.await.cleanup, !dbg !827
cleanup.from.await.cleanup: ; preds = %await.cleanup
%.cleanup59 = phi i32 [ 2, %await.cleanup ]
br label %cleanup, !dbg !827
await.ready: ; preds = %AfterCoroSuspend48, %init.ready
%ref.tmp22.reload.addr68 = getelementptr inbounds %_Z3foov.Frame, %_Z3foov.Frame* %FramePtr, i32 0, i32 12, !dbg !826
%j.reload.addr66 = getelementptr inbounds %_Z3foov.Frame, %_Z3foov.Frame* %FramePtr, i32 0, i32 11, !dbg !826
%ref.tmp11.reload.addr = getelementptr inbounds %_Z3foov.Frame, %_Z3foov.Frame* %FramePtr, i32 0, i32 8, !dbg !826
%i.reload.addr62 = getelementptr inbounds %_Z3foov.Frame, %_Z3foov.Frame* %FramePtr, i32 0, i32 7, !dbg !826
call void @_ZNKSt12experimental13coroutines_v114suspend_always12await_resumeEv(%"struct.std::experimental::coroutines_v1::suspend_always"* %ref.tmp11.reload.addr) #2, !dbg !826
call void @llvm.dbg.addr(metadata !2, metadata !828, metadata !DIExpression()), !dbg !829
store i32 0, i32* %j.reload.addr66, align 4, !dbg !829
%7 = load i32, i32* %i.reload.addr62, align 4, !dbg !830
%inc19 = add nsw i32 %7, 1, !dbg !830
store i32 %inc19, i32* %i.reload.addr62, align 4, !dbg !830
%8 = load i32, i32* %j.reload.addr66, align 4, !dbg !831
%inc20 = add nsw i32 %8, 1, !dbg !831
store i32 %inc20, i32* %j.reload.addr66, align 4, !dbg !831
%9 = load i32, i32* %i.reload.addr62, align 4, !dbg !832
%10 = load i32, i32* %j.reload.addr66, align 4, !dbg !833
%call21 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.1, i64 0, i64 0), i32 %9, i32 %10), !dbg !834
%call23 = call zeroext i1 @_ZNKSt12experimental13coroutines_v114suspend_always11await_readyEv(%"struct.std::experimental::coroutines_v1::suspend_always"* %ref.tmp22.reload.addr68) #2, !dbg !835
br i1 %call23, label %await2.ready, label %CoroSave49, !dbg !836
CoroSave49: ; preds = %await.ready
%index.addr74 = getelementptr inbounds %_Z3foov.Frame, %_Z3foov.Frame* %FramePtr, i32 0, i32 3, !dbg !836
store i2 -2, i2* %index.addr74, !dbg !836
br label %AfterCoroSave50, !dbg !835
AfterCoroSave50: ; preds = %CoroSave49
%ref.tmp25.reload.addr = getelementptr inbounds %_Z3foov.Frame, %_Z3foov.Frame* %FramePtr, i32 0, i32 14, !dbg !835
%agg.tmp24.reload.addr = getelementptr inbounds %_Z3foov.Frame, %_Z3foov.Frame* %FramePtr, i32 0, i32 13, !dbg !835
%ref.tmp22.reload.addr67 = getelementptr inbounds %_Z3foov.Frame, %_Z3foov.Frame* %FramePtr, i32 0, i32 12, !dbg !835
%call26 = call i8* @_ZNSt12experimental13coroutines_v116coroutine_handleIN4coro12promise_typeEE12from_addressEPv(i8* %vFrame) #2, !dbg !835
%coerce.dive27 = getelementptr inbounds %"class.std::experimental::coroutines_v1::coroutine_handle", %"class.std::experimental::coroutines_v1::coroutine_handle"* %ref.tmp25.reload.addr, i32 0, i32 0, !dbg !835
%coerce.dive28 = getelementptr inbounds %"class.std::experimental::coroutines_v1::coroutine_handle.0", %"class.std::experimental::coroutines_v1::coroutine_handle.0"* %coerce.dive27, i32 0, i32 0, !dbg !835
store i8* %call26, i8** %coerce.dive28, align 8, !dbg !835
%11 = bitcast %"class.std::experimental::coroutines_v1::coroutine_handle"* %ref.tmp25.reload.addr to %"class.std::experimental::coroutines_v1::coroutine_handle.0"*, !dbg !835
%12 = bitcast %"class.std::experimental::coroutines_v1::coroutine_handle.0"* %agg.tmp24.reload.addr to i8*, !dbg !835
%13 = bitcast %"class.std::experimental::coroutines_v1::coroutine_handle.0"* %11 to i8*, !dbg !835
call void @llvm.memcpy.p0i8.p0i8.i64(i8* align 8 %12, i8* align 8 %13, i64 8, i1 false), !dbg !835
%coerce.dive29 = getelementptr inbounds %"class.std::experimental::coroutines_v1::coroutine_handle.0", %"class.std::experimental::coroutines_v1::coroutine_handle.0"* %agg.tmp24.reload.addr, i32 0, i32 0, !dbg !835
%14 = load i8*, i8** %coerce.dive29, align 8, !dbg !835
call void @_ZNKSt12experimental13coroutines_v114suspend_always13await_suspendENS0_16coroutine_handleIvEE(%"struct.std::experimental::coroutines_v1::suspend_always"* %ref.tmp22.reload.addr67, i8* %14) #2, !dbg !835
br label %CoroSuspend51, !dbg !836
CoroSuspend51: ; preds = %AfterCoroSave50
br label %resume.2.landing, !dbg !836
resume.2: ; preds = %resume.entry
br label %resume.2.landing, !dbg !836
resume.2.landing: ; preds = %resume.2, %CoroSuspend51
%15 = phi i8 [ -1, %CoroSuspend51 ], [ 0, %resume.2 ]
br label %AfterCoroSuspend52, !dbg !836
AfterCoroSuspend52: ; preds = %resume.2.landing
switch i8 %15, label %coro.ret [
i8 0, label %await2.ready
i8 1, label %await2.cleanup
], !dbg !836
await2.cleanup: ; preds = %AfterCoroSuspend52
br label %cleanup.from.await2.cleanup, !dbg !836
cleanup.from.await2.cleanup: ; preds = %await2.cleanup
%.cleanup58 = phi i32 [ 2, %await2.cleanup ]
br label %cleanup, !dbg !836
await2.ready: ; preds = %AfterCoroSuspend52, %await.ready
%ref.tmp22.reload.addr = getelementptr inbounds %_Z3foov.Frame, %_Z3foov.Frame* %FramePtr, i32 0, i32 12, !dbg !835
%j.reload.addr = getelementptr inbounds %_Z3foov.Frame, %_Z3foov.Frame* %FramePtr, i32 0, i32 11, !dbg !835
%i.reload.addr = getelementptr inbounds %_Z3foov.Frame, %_Z3foov.Frame* %FramePtr, i32 0, i32 7, !dbg !835
call void @_ZNKSt12experimental13coroutines_v114suspend_always12await_resumeEv(%"struct.std::experimental::coroutines_v1::suspend_always"* %ref.tmp22.reload.addr) #2, !dbg !835
%16 = load i32, i32* %i.reload.addr, align 4, !dbg !837
%inc30 = add nsw i32 %16, 1, !dbg !837
store i32 %inc30, i32* %i.reload.addr, align 4, !dbg !837
%17 = load i32, i32* %j.reload.addr, align 4, !dbg !838
%inc31 = add nsw i32 %17, 1, !dbg !838
store i32 %inc31, i32* %j.reload.addr, align 4, !dbg !838
%18 = load i32, i32* %j.reload.addr, align 4, !dbg !839
%19 = load i32, i32* %i.reload.addr, align 4, !dbg !840
%call32 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.1, i64 0, i64 0), i32 %18, i32 %19), !dbg !841
call void @_ZN4coro12promise_type11return_voidEv(%"struct.coro::promise_type"* %__promise), !dbg !819
br label %coro.final, !dbg !819
coro.final: ; preds = %await2.ready
%ref.tmp33.reload.addr70 = getelementptr inbounds %_Z3foov.Frame, %_Z3foov.Frame* %FramePtr, i32 0, i32 15, !dbg !819
call void @_ZN4coro12promise_type13final_suspendEv(%"struct.coro::promise_type"* %__promise), !dbg !819
%call35 = call zeroext i1 @_ZNKSt12experimental13coroutines_v113suspend_never11await_readyEv(%"struct.std::experimental::coroutines_v1::suspend_never"* %ref.tmp33.reload.addr70) #2, !dbg !819
br i1 %call35, label %final.ready, label %CoroSave53, !dbg !819
CoroSave53: ; preds = %coro.final
%ResumeFn.addr = getelementptr inbounds %_Z3foov.Frame, %_Z3foov.Frame* %FramePtr, i32 0, i32 0, !dbg !819
store void (%_Z3foov.Frame*)* null, void (%_Z3foov.Frame*)** %ResumeFn.addr, !dbg !819
br label %AfterCoroSave54, !dbg !819
AfterCoroSave54: ; preds = %CoroSave53
%ref.tmp37.reload.addr = getelementptr inbounds %_Z3foov.Frame, %_Z3foov.Frame* %FramePtr, i32 0, i32 17, !dbg !819
%agg.tmp36.reload.addr = getelementptr inbounds %_Z3foov.Frame, %_Z3foov.Frame* %FramePtr, i32 0, i32 16, !dbg !819
%ref.tmp33.reload.addr69 = getelementptr inbounds %_Z3foov.Frame, %_Z3foov.Frame* %FramePtr, i32 0, i32 15, !dbg !819
%call38 = call i8* @_ZNSt12experimental13coroutines_v116coroutine_handleIN4coro12promise_typeEE12from_addressEPv(i8* %vFrame) #2, !dbg !819
%coerce.dive39 = getelementptr inbounds %"class.std::experimental::coroutines_v1::coroutine_handle", %"class.std::experimental::coroutines_v1::coroutine_handle"* %ref.tmp37.reload.addr, i32 0, i32 0, !dbg !819
%coerce.dive40 = getelementptr inbounds %"class.std::experimental::coroutines_v1::coroutine_handle.0", %"class.std::experimental::coroutines_v1::coroutine_handle.0"* %coerce.dive39, i32 0, i32 0, !dbg !819
store i8* %call38, i8** %coerce.dive40, align 8, !dbg !819
%20 = bitcast %"class.std::experimental::coroutines_v1::coroutine_handle"* %ref.tmp37.reload.addr to %"class.std::experimental::coroutines_v1::coroutine_handle.0"*, !dbg !819
%21 = bitcast %"class.std::experimental::coroutines_v1::coroutine_handle.0"* %agg.tmp36.reload.addr to i8*, !dbg !819
%22 = bitcast %"class.std::experimental::coroutines_v1::coroutine_handle.0"* %20 to i8*, !dbg !819
call void @llvm.memcpy.p0i8.p0i8.i64(i8* align 8 %21, i8* align 8 %22, i64 8, i1 false), !dbg !819
%coerce.dive41 = getelementptr inbounds %"class.std::experimental::coroutines_v1::coroutine_handle.0", %"class.std::experimental::coroutines_v1::coroutine_handle.0"* %agg.tmp36.reload.addr, i32 0, i32 0, !dbg !819
%23 = load i8*, i8** %coerce.dive41, align 8, !dbg !819
call void @_ZNKSt12experimental13coroutines_v113suspend_never13await_suspendENS0_16coroutine_handleIvEE(%"struct.std::experimental::coroutines_v1::suspend_never"* %ref.tmp33.reload.addr69, i8* %23) #2, !dbg !819
br label %CoroSuspend55, !dbg !819
CoroSuspend55: ; preds = %AfterCoroSave54
br label %resume.3.landing, !dbg !819
resume.3.landing: ; preds = %CoroSuspend55
br label %AfterCoroSuspend56, !dbg !819
AfterCoroSuspend56: ; preds = %resume.3.landing
switch i8 -1, label %coro.ret [
i8 0, label %final.ready
i8 1, label %final.cleanup
], !dbg !819
final.cleanup: ; preds = %AfterCoroSuspend56
br label %cleanup.from.final.cleanup, !dbg !819
cleanup.from.final.cleanup: ; preds = %final.cleanup
%.cleanup57 = phi i32 [ 2, %final.cleanup ]
br label %cleanup, !dbg !819
final.ready: ; preds = %AfterCoroSuspend56, %coro.final
%ref.tmp33.reload.addr = getelementptr inbounds %_Z3foov.Frame, %_Z3foov.Frame* %FramePtr, i32 0, i32 15, !dbg !819
call void @_ZNKSt12experimental13coroutines_v113suspend_never12await_resumeEv(%"struct.std::experimental::coroutines_v1::suspend_never"* %ref.tmp33.reload.addr) #2, !dbg !819
br label %cleanup.from.final.ready, !dbg !819
cleanup.from.final.ready: ; preds = %final.ready
%.cleanup = phi i32 [ 0, %final.ready ]
br label %cleanup, !dbg !819
cleanup: ; preds = %cleanup.from.final.ready, %cleanup.from.final.cleanup, %cleanup.from.await2.cleanup, %cleanup.from.await.cleanup, %cleanup.from.init.cleanup
%cleanup.dest.slot.0 = phi i32 [ %.cleanup, %cleanup.from.final.ready ], [ %.cleanup57, %cleanup.from.final.cleanup ], [ %.cleanup58, %cleanup.from.await2.cleanup ], [ %.cleanup59, %cleanup.from.await.cleanup ], [ %.cleanup60, %cleanup.from.init.cleanup ]
%24 = icmp ne i8* %vFrame, null, !dbg !819
br i1 %24, label %coro.free, label %after.coro.free, !dbg !819
coro.free: ; preds = %cleanup
call void @_ZdlPv(i8* %vFrame) #2, !dbg !819
br label %after.coro.free, !dbg !819
after.coro.free: ; preds = %coro.free, %cleanup
switch i32 %cleanup.dest.slot.0, label %unreachable [
i32 0, label %cleanup.cont
i32 2, label %coro.ret
]
cleanup.cont: ; preds = %after.coro.free
br label %coro.ret, !dbg !819
coro.ret: ; preds = %cleanup.cont, %after.coro.free, %AfterCoroSuspend56, %AfterCoroSuspend52, %AfterCoroSuspend48, %AfterCoroSuspend
br label %CoroEnd, !dbg !819
CoroEnd: ; preds = %coro.ret
ret void, !dbg !819
unreachable: ; preds = %after.coro.free
unreachable
resume.entry: ; preds = %entry.resume
%index.addr = getelementptr inbounds %_Z3foov.Frame, %_Z3foov.Frame* %FramePtr, i32 0, i32 3
%index = load i2, i2* %index.addr
switch i2 %index, label %unreachable71 [
i2 0, label %resume.0
i2 1, label %resume.1
i2 -2, label %resume.2
]
unreachable71: ; preds = %resume.entry
unreachable, !dbg !819
}
; Function Attrs: noinline nounwind optnone uwtable
define internal fastcc void @_Z3foov.destroy(%_Z3foov.Frame* noalias nonnull %FramePtr) #0 !dbg !842 {
entry.destroy:
%vFrame = bitcast %_Z3foov.Frame* %FramePtr to i8*, !dbg !843
%__promise = getelementptr inbounds %_Z3foov.Frame, %_Z3foov.Frame* %FramePtr, i32 0, i32 2, !dbg !843
%ref.tmp = getelementptr inbounds %_Z3foov.Frame, %_Z3foov.Frame* %FramePtr, i32 0, i32 4, !dbg !843
br label %resume.entry, !dbg !843
resume.0: ; preds = %Switch
br label %resume.0.landing, !dbg !844
resume.0.landing: ; preds = %resume.0
br label %AfterCoroSuspend, !dbg !844
AfterCoroSuspend: ; preds = %resume.0.landing
switch i8 1, label %coro.ret [
i8 0, label %init.ready
i8 1, label %init.cleanup
], !dbg !844
init.cleanup: ; preds = %AfterCoroSuspend
br label %cleanup.from.init.cleanup, !dbg !844
cleanup.from.init.cleanup: ; preds = %init.cleanup
%.cleanup60 = phi i32 [ 2, %init.cleanup ]
br label %cleanup, !dbg !844
init.ready: ; preds = %AfterCoroSuspend
%ref.tmp11.reload.addr65 = getelementptr inbounds %_Z3foov.Frame, %_Z3foov.Frame* %FramePtr, i32 0, i32 8, !dbg !844
%i.reload.addr63 = getelementptr inbounds %_Z3foov.Frame, %_Z3foov.Frame* %FramePtr, i32 0, i32 7, !dbg !844
%ref.tmp.reload.addr = getelementptr inbounds %_Z3foov.Frame, %_Z3foov.Frame* %FramePtr, i32 0, i32 4, !dbg !844
call void @_ZNKSt12experimental13coroutines_v113suspend_never12await_resumeEv(%"struct.std::experimental::coroutines_v1::suspend_never"* %ref.tmp.reload.addr) #2, !dbg !844
call void @llvm.dbg.addr(metadata !2, metadata !845, metadata !DIExpression()), !dbg !847
store i32 0, i32* %i.reload.addr63, align 4, !dbg !847
%0 = load i32, i32* %i.reload.addr63, align 4, !dbg !848
%inc = add nsw i32 %0, 1, !dbg !848
store i32 %inc, i32* %i.reload.addr63, align 4, !dbg !848
%1 = load i32, i32* %i.reload.addr63, align 4, !dbg !849
%call10 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str, i64 0, i64 0), i32 %1), !dbg !850
%call12 = call zeroext i1 @_ZNKSt12experimental13coroutines_v114suspend_always11await_readyEv(%"struct.std::experimental::coroutines_v1::suspend_always"* %ref.tmp11.reload.addr65) #2, !dbg !851
br i1 %call12, label %await.ready, label %CoroSave45, !dbg !852
CoroSave45: ; preds = %init.ready
%index.addr73 = getelementptr inbounds %_Z3foov.Frame, %_Z3foov.Frame* %FramePtr, i32 0, i32 3, !dbg !852
store i2 1, i2* %index.addr73, !dbg !852
br label %AfterCoroSave46, !dbg !851
AfterCoroSave46: ; preds = %CoroSave45
%ref.tmp14.reload.addr = getelementptr inbounds %_Z3foov.Frame, %_Z3foov.Frame* %FramePtr, i32 0, i32 10, !dbg !851
%agg.tmp13.reload.addr = getelementptr inbounds %_Z3foov.Frame, %_Z3foov.Frame* %FramePtr, i32 0, i32 9, !dbg !851
%ref.tmp11.reload.addr64 = getelementptr inbounds %_Z3foov.Frame, %_Z3foov.Frame* %FramePtr, i32 0, i32 8, !dbg !851
%call15 = call i8* @_ZNSt12experimental13coroutines_v116coroutine_handleIN4coro12promise_typeEE12from_addressEPv(i8* %vFrame) #2, !dbg !851
%coerce.dive16 = getelementptr inbounds %"class.std::experimental::coroutines_v1::coroutine_handle", %"class.std::experimental::coroutines_v1::coroutine_handle"* %ref.tmp14.reload.addr, i32 0, i32 0, !dbg !851
%coerce.dive17 = getelementptr inbounds %"class.std::experimental::coroutines_v1::coroutine_handle.0", %"class.std::experimental::coroutines_v1::coroutine_handle.0"* %coerce.dive16, i32 0, i32 0, !dbg !851
store i8* %call15, i8** %coerce.dive17, align 8, !dbg !851
%2 = bitcast %"class.std::experimental::coroutines_v1::coroutine_handle"* %ref.tmp14.reload.addr to %"class.std::experimental::coroutines_v1::coroutine_handle.0"*, !dbg !851
%3 = bitcast %"class.std::experimental::coroutines_v1::coroutine_handle.0"* %agg.tmp13.reload.addr to i8*, !dbg !851
%4 = bitcast %"class.std::experimental::coroutines_v1::coroutine_handle.0"* %2 to i8*, !dbg !851
call void @llvm.memcpy.p0i8.p0i8.i64(i8* align 8 %3, i8* align 8 %4, i64 8, i1 false), !dbg !851
%coerce.dive18 = getelementptr inbounds %"class.std::experimental::coroutines_v1::coroutine_handle.0", %"class.std::experimental::coroutines_v1::coroutine_handle.0"* %agg.tmp13.reload.addr, i32 0, i32 0, !dbg !851
%5 = load i8*, i8** %coerce.dive18, align 8, !dbg !851
call void @_ZNKSt12experimental13coroutines_v114suspend_always13await_suspendENS0_16coroutine_handleIvEE(%"struct.std::experimental::coroutines_v1::suspend_always"* %ref.tmp11.reload.addr64, i8* %5) #2, !dbg !851
br label %CoroSuspend47, !dbg !852
CoroSuspend47: ; preds = %AfterCoroSave46
br label %resume.1.landing, !dbg !852
resume.1: ; preds = %Switch
br label %resume.1.landing, !dbg !852
resume.1.landing: ; preds = %resume.1, %CoroSuspend47
%6 = phi i8 [ -1, %CoroSuspend47 ], [ 1, %resume.1 ]
br label %AfterCoroSuspend48, !dbg !852
AfterCoroSuspend48: ; preds = %resume.1.landing
switch i8 %6, label %coro.ret [
i8 0, label %await.ready
i8 1, label %await.cleanup
], !dbg !852
await.cleanup: ; preds = %AfterCoroSuspend48
br label %cleanup.from.await.cleanup, !dbg !852
cleanup.from.await.cleanup: ; preds = %await.cleanup
%.cleanup59 = phi i32 [ 2, %await.cleanup ]
br label %cleanup, !dbg !852
await.ready: ; preds = %AfterCoroSuspend48, %init.ready
%ref.tmp22.reload.addr68 = getelementptr inbounds %_Z3foov.Frame, %_Z3foov.Frame* %FramePtr, i32 0, i32 12, !dbg !851
%j.reload.addr66 = getelementptr inbounds %_Z3foov.Frame, %_Z3foov.Frame* %FramePtr, i32 0, i32 11, !dbg !851
%ref.tmp11.reload.addr = getelementptr inbounds %_Z3foov.Frame, %_Z3foov.Frame* %FramePtr, i32 0, i32 8, !dbg !851
%i.reload.addr62 = getelementptr inbounds %_Z3foov.Frame, %_Z3foov.Frame* %FramePtr, i32 0, i32 7, !dbg !851
call void @_ZNKSt12experimental13coroutines_v114suspend_always12await_resumeEv(%"struct.std::experimental::coroutines_v1::suspend_always"* %ref.tmp11.reload.addr) #2, !dbg !851
call void @llvm.dbg.addr(metadata !2, metadata !853, metadata !DIExpression()), !dbg !854
store i32 0, i32* %j.reload.addr66, align 4, !dbg !854
%7 = load i32, i32* %i.reload.addr62, align 4, !dbg !855
%inc19 = add nsw i32 %7, 1, !dbg !855
store i32 %inc19, i32* %i.reload.addr62, align 4, !dbg !855
%8 = load i32, i32* %j.reload.addr66, align 4, !dbg !856
%inc20 = add nsw i32 %8, 1, !dbg !856
store i32 %inc20, i32* %j.reload.addr66, align 4, !dbg !856
%9 = load i32, i32* %i.reload.addr62, align 4, !dbg !857
%10 = load i32, i32* %j.reload.addr66, align 4, !dbg !858
%call21 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.1, i64 0, i64 0), i32 %9, i32 %10), !dbg !859
%call23 = call zeroext i1 @_ZNKSt12experimental13coroutines_v114suspend_always11await_readyEv(%"struct.std::experimental::coroutines_v1::suspend_always"* %ref.tmp22.reload.addr68) #2, !dbg !860
br i1 %call23, label %await2.ready, label %CoroSave49, !dbg !861
CoroSave49: ; preds = %await.ready
%index.addr74 = getelementptr inbounds %_Z3foov.Frame, %_Z3foov.Frame* %FramePtr, i32 0, i32 3, !dbg !861
store i2 -2, i2* %index.addr74, !dbg !861
br label %AfterCoroSave50, !dbg !860
AfterCoroSave50: ; preds = %CoroSave49
%ref.tmp25.reload.addr = getelementptr inbounds %_Z3foov.Frame, %_Z3foov.Frame* %FramePtr, i32 0, i32 14, !dbg !860
%agg.tmp24.reload.addr = getelementptr inbounds %_Z3foov.Frame, %_Z3foov.Frame* %FramePtr, i32 0, i32 13, !dbg !860
%ref.tmp22.reload.addr67 = getelementptr inbounds %_Z3foov.Frame, %_Z3foov.Frame* %FramePtr, i32 0, i32 12, !dbg !860
%call26 = call i8* @_ZNSt12experimental13coroutines_v116coroutine_handleIN4coro12promise_typeEE12from_addressEPv(i8* %vFrame) #2, !dbg !860
%coerce.dive27 = getelementptr inbounds %"class.std::experimental::coroutines_v1::coroutine_handle", %"class.std::experimental::coroutines_v1::coroutine_handle"* %ref.tmp25.reload.addr, i32 0, i32 0, !dbg !860
%coerce.dive28 = getelementptr inbounds %"class.std::experimental::coroutines_v1::coroutine_handle.0", %"class.std::experimental::coroutines_v1::coroutine_handle.0"* %coerce.dive27, i32 0, i32 0, !dbg !860
store i8* %call26, i8** %coerce.dive28, align 8, !dbg !860
%11 = bitcast %"class.std::experimental::coroutines_v1::coroutine_handle"* %ref.tmp25.reload.addr to %"class.std::experimental::coroutines_v1::coroutine_handle.0"*, !dbg !860
%12 = bitcast %"class.std::experimental::coroutines_v1::coroutine_handle.0"* %agg.tmp24.reload.addr to i8*, !dbg !860
%13 = bitcast %"class.std::experimental::coroutines_v1::coroutine_handle.0"* %11 to i8*, !dbg !860
call void @llvm.memcpy.p0i8.p0i8.i64(i8* align 8 %12, i8* align 8 %13, i64 8, i1 false), !dbg !860
%coerce.dive29 = getelementptr inbounds %"class.std::experimental::coroutines_v1::coroutine_handle.0", %"class.std::experimental::coroutines_v1::coroutine_handle.0"* %agg.tmp24.reload.addr, i32 0, i32 0, !dbg !860
%14 = load i8*, i8** %coerce.dive29, align 8, !dbg !860
call void @_ZNKSt12experimental13coroutines_v114suspend_always13await_suspendENS0_16coroutine_handleIvEE(%"struct.std::experimental::coroutines_v1::suspend_always"* %ref.tmp22.reload.addr67, i8* %14) #2, !dbg !860
br label %CoroSuspend51, !dbg !861
CoroSuspend51: ; preds = %AfterCoroSave50
br label %resume.2.landing, !dbg !861
resume.2: ; preds = %Switch
br label %resume.2.landing, !dbg !861
resume.2.landing: ; preds = %resume.2, %CoroSuspend51
%15 = phi i8 [ -1, %CoroSuspend51 ], [ 1, %resume.2 ]
br label %AfterCoroSuspend52, !dbg !861
AfterCoroSuspend52: ; preds = %resume.2.landing
switch i8 %15, label %coro.ret [
i8 0, label %await2.ready
i8 1, label %await2.cleanup
], !dbg !861
await2.cleanup: ; preds = %AfterCoroSuspend52
br label %cleanup.from.await2.cleanup, !dbg !861
cleanup.from.await2.cleanup: ; preds = %await2.cleanup
%.cleanup58 = phi i32 [ 2, %await2.cleanup ]
br label %cleanup, !dbg !861
await2.ready: ; preds = %AfterCoroSuspend52, %await.ready
%ref.tmp22.reload.addr = getelementptr inbounds %_Z3foov.Frame, %_Z3foov.Frame* %FramePtr, i32 0, i32 12, !dbg !860
%j.reload.addr = getelementptr inbounds %_Z3foov.Frame, %_Z3foov.Frame* %FramePtr, i32 0, i32 11, !dbg !860
%i.reload.addr = getelementptr inbounds %_Z3foov.Frame, %_Z3foov.Frame* %FramePtr, i32 0, i32 7, !dbg !860
call void @_ZNKSt12experimental13coroutines_v114suspend_always12await_resumeEv(%"struct.std::experimental::coroutines_v1::suspend_always"* %ref.tmp22.reload.addr) #2, !dbg !860
%16 = load i32, i32* %i.reload.addr, align 4, !dbg !862
%inc30 = add nsw i32 %16, 1, !dbg !862
store i32 %inc30, i32* %i.reload.addr, align 4, !dbg !862
%17 = load i32, i32* %j.reload.addr, align 4, !dbg !863
%inc31 = add nsw i32 %17, 1, !dbg !863
store i32 %inc31, i32* %j.reload.addr, align 4, !dbg !863
%18 = load i32, i32* %j.reload.addr, align 4, !dbg !864
%19 = load i32, i32* %i.reload.addr, align 4, !dbg !865
%call32 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.1, i64 0, i64 0), i32 %18, i32 %19), !dbg !866
call void @_ZN4coro12promise_type11return_voidEv(%"struct.coro::promise_type"* %__promise), !dbg !844
br label %coro.final, !dbg !844
coro.final: ; preds = %await2.ready
%ref.tmp33.reload.addr70 = getelementptr inbounds %_Z3foov.Frame, %_Z3foov.Frame* %FramePtr, i32 0, i32 15, !dbg !844
call void @_ZN4coro12promise_type13final_suspendEv(%"struct.coro::promise_type"* %__promise), !dbg !844
%call35 = call zeroext i1 @_ZNKSt12experimental13coroutines_v113suspend_never11await_readyEv(%"struct.std::experimental::coroutines_v1::suspend_never"* %ref.tmp33.reload.addr70) #2, !dbg !844
br i1 %call35, label %final.ready, label %CoroSave53, !dbg !844
CoroSave53: ; preds = %coro.final
%ResumeFn.addr = getelementptr inbounds %_Z3foov.Frame, %_Z3foov.Frame* %FramePtr, i32 0, i32 0, !dbg !844
store void (%_Z3foov.Frame*)* null, void (%_Z3foov.Frame*)** %ResumeFn.addr, !dbg !844
br label %AfterCoroSave54, !dbg !844
AfterCoroSave54: ; preds = %CoroSave53
%ref.tmp37.reload.addr = getelementptr inbounds %_Z3foov.Frame, %_Z3foov.Frame* %FramePtr, i32 0, i32 17, !dbg !844
%agg.tmp36.reload.addr = getelementptr inbounds %_Z3foov.Frame, %_Z3foov.Frame* %FramePtr, i32 0, i32 16, !dbg !844
%ref.tmp33.reload.addr69 = getelementptr inbounds %_Z3foov.Frame, %_Z3foov.Frame* %FramePtr, i32 0, i32 15, !dbg !844
%call38 = call i8* @_ZNSt12experimental13coroutines_v116coroutine_handleIN4coro12promise_typeEE12from_addressEPv(i8* %vFrame) #2, !dbg !844
%coerce.dive39 = getelementptr inbounds %"class.std::experimental::coroutines_v1::coroutine_handle", %"class.std::experimental::coroutines_v1::coroutine_handle"* %ref.tmp37.reload.addr, i32 0, i32 0, !dbg !844
%coerce.dive40 = getelementptr inbounds %"class.std::experimental::coroutines_v1::coroutine_handle.0", %"class.std::experimental::coroutines_v1::coroutine_handle.0"* %coerce.dive39, i32 0, i32 0, !dbg !844
store i8* %call38, i8** %coerce.dive40, align 8, !dbg !844
%20 = bitcast %"class.std::experimental::coroutines_v1::coroutine_handle"* %ref.tmp37.reload.addr to %"class.std::experimental::coroutines_v1::coroutine_handle.0"*, !dbg !844
%21 = bitcast %"class.std::experimental::coroutines_v1::coroutine_handle.0"* %agg.tmp36.reload.addr to i8*, !dbg !844
%22 = bitcast %"class.std::experimental::coroutines_v1::coroutine_handle.0"* %20 to i8*, !dbg !844
call void @llvm.memcpy.p0i8.p0i8.i64(i8* align 8 %21, i8* align 8 %22, i64 8, i1 false), !dbg !844
%coerce.dive41 = getelementptr inbounds %"class.std::experimental::coroutines_v1::coroutine_handle.0", %"class.std::experimental::coroutines_v1::coroutine_handle.0"* %agg.tmp36.reload.addr, i32 0, i32 0, !dbg !844
%23 = load i8*, i8** %coerce.dive41, align 8, !dbg !844
call void @_ZNKSt12experimental13coroutines_v113suspend_never13await_suspendENS0_16coroutine_handleIvEE(%"struct.std::experimental::coroutines_v1::suspend_never"* %ref.tmp33.reload.addr69, i8* %23) #2, !dbg !844
br label %CoroSuspend55, !dbg !844
CoroSuspend55: ; preds = %AfterCoroSave54
br label %resume.3.landing, !dbg !844
resume.3: ; preds = %resume.entry
br label %resume.3.landing, !dbg !844
resume.3.landing: ; preds = %resume.3, %CoroSuspend55
%24 = phi i8 [ -1, %CoroSuspend55 ], [ 1, %resume.3 ]
br label %AfterCoroSuspend56, !dbg !844
AfterCoroSuspend56: ; preds = %resume.3.landing
switch i8 %24, label %coro.ret [
i8 0, label %final.ready
i8 1, label %final.cleanup
], !dbg !844
final.cleanup: ; preds = %AfterCoroSuspend56
br label %cleanup.from.final.cleanup, !dbg !844
cleanup.from.final.cleanup: ; preds = %final.cleanup
%.cleanup57 = phi i32 [ 2, %final.cleanup ]
br label %cleanup, !dbg !844
final.ready: ; preds = %AfterCoroSuspend56, %coro.final
%ref.tmp33.reload.addr = getelementptr inbounds %_Z3foov.Frame, %_Z3foov.Frame* %FramePtr, i32 0, i32 15, !dbg !844
call void @_ZNKSt12experimental13coroutines_v113suspend_never12await_resumeEv(%"struct.std::experimental::coroutines_v1::suspend_never"* %ref.tmp33.reload.addr) #2, !dbg !844
br label %cleanup.from.final.ready, !dbg !844
cleanup.from.final.ready: ; preds = %final.ready
%.cleanup = phi i32 [ 0, %final.ready ]
br label %cleanup, !dbg !844
cleanup: ; preds = %cleanup.from.final.ready, %cleanup.from.final.cleanup, %cleanup.from.await2.cleanup, %cleanup.from.await.cleanup, %cleanup.from.init.cleanup
%cleanup.dest.slot.0 = phi i32 [ %.cleanup, %cleanup.from.final.ready ], [ %.cleanup57, %cleanup.from.final.cleanup ], [ %.cleanup58, %cleanup.from.await2.cleanup ], [ %.cleanup59, %cleanup.from.await.cleanup ], [ %.cleanup60, %cleanup.from.init.cleanup ]
%25 = icmp ne i8* %vFrame, null, !dbg !844
br i1 %25, label %coro.free, label %after.coro.free, !dbg !844
coro.free: ; preds = %cleanup
call void @_ZdlPv(i8* %vFrame) #2, !dbg !844
br label %after.coro.free, !dbg !844
after.coro.free: ; preds = %coro.free, %cleanup
switch i32 %cleanup.dest.slot.0, label %unreachable [
i32 0, label %cleanup.cont
i32 2, label %coro.ret
]
cleanup.cont: ; preds = %after.coro.free
br label %coro.ret, !dbg !844
coro.ret: ; preds = %cleanup.cont, %after.coro.free, %AfterCoroSuspend56, %AfterCoroSuspend52, %AfterCoroSuspend48, %AfterCoroSuspend
br label %CoroEnd, !dbg !844
CoroEnd: ; preds = %coro.ret
ret void, !dbg !844
unreachable: ; preds = %after.coro.free
unreachable
resume.entry: ; preds = %entry.destroy
%index.addr = getelementptr inbounds %_Z3foov.Frame, %_Z3foov.Frame* %FramePtr, i32 0, i32 3
%index = load i2, i2* %index.addr
%ResumeFn.addr1 = getelementptr inbounds %_Z3foov.Frame, %_Z3foov.Frame* %FramePtr, i32 0, i32 0
%26 = load void (%_Z3foov.Frame*)*, void (%_Z3foov.Frame*)** %ResumeFn.addr1
%27 = icmp eq void (%_Z3foov.Frame*)* %26, null
br i1 %27, label %resume.3, label %Switch
Switch: ; preds = %resume.entry
switch i2 %index, label %unreachable71 [
i2 0, label %resume.0
i2 1, label %resume.1
i2 -2, label %resume.2
]
unreachable71: ; preds = %Switch
unreachable, !dbg !844
}
; Function Attrs: noinline nounwind optnone uwtable
define internal fastcc void @_Z3foov.cleanup(%_Z3foov.Frame* noalias nonnull %FramePtr) #0 !dbg !867 {
entry.cleanup:
%vFrame = bitcast %_Z3foov.Frame* %FramePtr to i8*, !dbg !868
%__promise = getelementptr inbounds %_Z3foov.Frame, %_Z3foov.Frame* %FramePtr, i32 0, i32 2, !dbg !868
%ref.tmp = getelementptr inbounds %_Z3foov.Frame, %_Z3foov.Frame* %FramePtr, i32 0, i32 4, !dbg !868
br label %resume.entry, !dbg !868
resume.0: ; preds = %Switch
br label %resume.0.landing, !dbg !869
resume.0.landing: ; preds = %resume.0
br label %AfterCoroSuspend, !dbg !869
AfterCoroSuspend: ; preds = %resume.0.landing
switch i8 1, label %coro.ret [
i8 0, label %init.ready
i8 1, label %init.cleanup
], !dbg !869
init.cleanup: ; preds = %AfterCoroSuspend
br label %cleanup.from.init.cleanup, !dbg !869
cleanup.from.init.cleanup: ; preds = %init.cleanup
%.cleanup60 = phi i32 [ 2, %init.cleanup ]
br label %cleanup, !dbg !869
init.ready: ; preds = %AfterCoroSuspend
%ref.tmp11.reload.addr65 = getelementptr inbounds %_Z3foov.Frame, %_Z3foov.Frame* %FramePtr, i32 0, i32 8, !dbg !869
%i.reload.addr63 = getelementptr inbounds %_Z3foov.Frame, %_Z3foov.Frame* %FramePtr, i32 0, i32 7, !dbg !869
%ref.tmp.reload.addr = getelementptr inbounds %_Z3foov.Frame, %_Z3foov.Frame* %FramePtr, i32 0, i32 4, !dbg !869
call void @_ZNKSt12experimental13coroutines_v113suspend_never12await_resumeEv(%"struct.std::experimental::coroutines_v1::suspend_never"* %ref.tmp.reload.addr) #2, !dbg !869
call void @llvm.dbg.addr(metadata !2, metadata !870, metadata !DIExpression()), !dbg !872
store i32 0, i32* %i.reload.addr63, align 4, !dbg !872
%0 = load i32, i32* %i.reload.addr63, align 4, !dbg !873
%inc = add nsw i32 %0, 1, !dbg !873
store i32 %inc, i32* %i.reload.addr63, align 4, !dbg !873
%1 = load i32, i32* %i.reload.addr63, align 4, !dbg !874
%call10 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str, i64 0, i64 0), i32 %1), !dbg !875
%call12 = call zeroext i1 @_ZNKSt12experimental13coroutines_v114suspend_always11await_readyEv(%"struct.std::experimental::coroutines_v1::suspend_always"* %ref.tmp11.reload.addr65) #2, !dbg !876
br i1 %call12, label %await.ready, label %CoroSave45, !dbg !877
CoroSave45: ; preds = %init.ready
%index.addr73 = getelementptr inbounds %_Z3foov.Frame, %_Z3foov.Frame* %FramePtr, i32 0, i32 3, !dbg !877
store i2 1, i2* %index.addr73, !dbg !877
br label %AfterCoroSave46, !dbg !876
AfterCoroSave46: ; preds = %CoroSave45
%ref.tmp14.reload.addr = getelementptr inbounds %_Z3foov.Frame, %_Z3foov.Frame* %FramePtr, i32 0, i32 10, !dbg !876
%agg.tmp13.reload.addr = getelementptr inbounds %_Z3foov.Frame, %_Z3foov.Frame* %FramePtr, i32 0, i32 9, !dbg !876
%ref.tmp11.reload.addr64 = getelementptr inbounds %_Z3foov.Frame, %_Z3foov.Frame* %FramePtr, i32 0, i32 8, !dbg !876
%call15 = call i8* @_ZNSt12experimental13coroutines_v116coroutine_handleIN4coro12promise_typeEE12from_addressEPv(i8* %vFrame) #2, !dbg !876
%coerce.dive16 = getelementptr inbounds %"class.std::experimental::coroutines_v1::coroutine_handle", %"class.std::experimental::coroutines_v1::coroutine_handle"* %ref.tmp14.reload.addr, i32 0, i32 0, !dbg !876
%coerce.dive17 = getelementptr inbounds %"class.std::experimental::coroutines_v1::coroutine_handle.0", %"class.std::experimental::coroutines_v1::coroutine_handle.0"* %coerce.dive16, i32 0, i32 0, !dbg !876
store i8* %call15, i8** %coerce.dive17, align 8, !dbg !876
%2 = bitcast %"class.std::experimental::coroutines_v1::coroutine_handle"* %ref.tmp14.reload.addr to %"class.std::experimental::coroutines_v1::coroutine_handle.0"*, !dbg !876
%3 = bitcast %"class.std::experimental::coroutines_v1::coroutine_handle.0"* %agg.tmp13.reload.addr to i8*, !dbg !876
%4 = bitcast %"class.std::experimental::coroutines_v1::coroutine_handle.0"* %2 to i8*, !dbg !876
call void @llvm.memcpy.p0i8.p0i8.i64(i8* align 8 %3, i8* align 8 %4, i64 8, i1 false), !dbg !876
%coerce.dive18 = getelementptr inbounds %"class.std::experimental::coroutines_v1::coroutine_handle.0", %"class.std::experimental::coroutines_v1::coroutine_handle.0"* %agg.tmp13.reload.addr, i32 0, i32 0, !dbg !876
%5 = load i8*, i8** %coerce.dive18, align 8, !dbg !876
call void @_ZNKSt12experimental13coroutines_v114suspend_always13await_suspendENS0_16coroutine_handleIvEE(%"struct.std::experimental::coroutines_v1::suspend_always"* %ref.tmp11.reload.addr64, i8* %5) #2, !dbg !876
br label %CoroSuspend47, !dbg !877
CoroSuspend47: ; preds = %AfterCoroSave46
br label %resume.1.landing, !dbg !877
resume.1: ; preds = %Switch
br label %resume.1.landing, !dbg !877
resume.1.landing: ; preds = %resume.1, %CoroSuspend47
%6 = phi i8 [ -1, %CoroSuspend47 ], [ 1, %resume.1 ]
br label %AfterCoroSuspend48, !dbg !877
AfterCoroSuspend48: ; preds = %resume.1.landing
switch i8 %6, label %coro.ret [
i8 0, label %await.ready
i8 1, label %await.cleanup
], !dbg !877
await.cleanup: ; preds = %AfterCoroSuspend48
br label %cleanup.from.await.cleanup, !dbg !877
cleanup.from.await.cleanup: ; preds = %await.cleanup
%.cleanup59 = phi i32 [ 2, %await.cleanup ]
br label %cleanup, !dbg !877
await.ready: ; preds = %AfterCoroSuspend48, %init.ready
%ref.tmp22.reload.addr68 = getelementptr inbounds %_Z3foov.Frame, %_Z3foov.Frame* %FramePtr, i32 0, i32 12, !dbg !876
%j.reload.addr66 = getelementptr inbounds %_Z3foov.Frame, %_Z3foov.Frame* %FramePtr, i32 0, i32 11, !dbg !876
%ref.tmp11.reload.addr = getelementptr inbounds %_Z3foov.Frame, %_Z3foov.Frame* %FramePtr, i32 0, i32 8, !dbg !876
%i.reload.addr62 = getelementptr inbounds %_Z3foov.Frame, %_Z3foov.Frame* %FramePtr, i32 0, i32 7, !dbg !876
call void @_ZNKSt12experimental13coroutines_v114suspend_always12await_resumeEv(%"struct.std::experimental::coroutines_v1::suspend_always"* %ref.tmp11.reload.addr) #2, !dbg !876
call void @llvm.dbg.addr(metadata !2, metadata !878, metadata !DIExpression()), !dbg !879
store i32 0, i32* %j.reload.addr66, align 4, !dbg !879
%7 = load i32, i32* %i.reload.addr62, align 4, !dbg !880
%inc19 = add nsw i32 %7, 1, !dbg !880
store i32 %inc19, i32* %i.reload.addr62, align 4, !dbg !880
%8 = load i32, i32* %j.reload.addr66, align 4, !dbg !881
%inc20 = add nsw i32 %8, 1, !dbg !881
store i32 %inc20, i32* %j.reload.addr66, align 4, !dbg !881
%9 = load i32, i32* %i.reload.addr62, align 4, !dbg !882
%10 = load i32, i32* %j.reload.addr66, align 4, !dbg !883
%call21 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.1, i64 0, i64 0), i32 %9, i32 %10), !dbg !884
%call23 = call zeroext i1 @_ZNKSt12experimental13coroutines_v114suspend_always11await_readyEv(%"struct.std::experimental::coroutines_v1::suspend_always"* %ref.tmp22.reload.addr68) #2, !dbg !885
br i1 %call23, label %await2.ready, label %CoroSave49, !dbg !886
CoroSave49: ; preds = %await.ready
%index.addr74 = getelementptr inbounds %_Z3foov.Frame, %_Z3foov.Frame* %FramePtr, i32 0, i32 3, !dbg !886
store i2 -2, i2* %index.addr74, !dbg !886
br label %AfterCoroSave50, !dbg !885
AfterCoroSave50: ; preds = %CoroSave49
%ref.tmp25.reload.addr = getelementptr inbounds %_Z3foov.Frame, %_Z3foov.Frame* %FramePtr, i32 0, i32 14, !dbg !885
%agg.tmp24.reload.addr = getelementptr inbounds %_Z3foov.Frame, %_Z3foov.Frame* %FramePtr, i32 0, i32 13, !dbg !885
%ref.tmp22.reload.addr67 = getelementptr inbounds %_Z3foov.Frame, %_Z3foov.Frame* %FramePtr, i32 0, i32 12, !dbg !885
%call26 = call i8* @_ZNSt12experimental13coroutines_v116coroutine_handleIN4coro12promise_typeEE12from_addressEPv(i8* %vFrame) #2, !dbg !885
%coerce.dive27 = getelementptr inbounds %"class.std::experimental::coroutines_v1::coroutine_handle", %"class.std::experimental::coroutines_v1::coroutine_handle"* %ref.tmp25.reload.addr, i32 0, i32 0, !dbg !885
%coerce.dive28 = getelementptr inbounds %"class.std::experimental::coroutines_v1::coroutine_handle.0", %"class.std::experimental::coroutines_v1::coroutine_handle.0"* %coerce.dive27, i32 0, i32 0, !dbg !885
store i8* %call26, i8** %coerce.dive28, align 8, !dbg !885
%11 = bitcast %"class.std::experimental::coroutines_v1::coroutine_handle"* %ref.tmp25.reload.addr to %"class.std::experimental::coroutines_v1::coroutine_handle.0"*, !dbg !885
%12 = bitcast %"class.std::experimental::coroutines_v1::coroutine_handle.0"* %agg.tmp24.reload.addr to i8*, !dbg !885
%13 = bitcast %"class.std::experimental::coroutines_v1::coroutine_handle.0"* %11 to i8*, !dbg !885
call void @llvm.memcpy.p0i8.p0i8.i64(i8* align 8 %12, i8* align 8 %13, i64 8, i1 false), !dbg !885
%coerce.dive29 = getelementptr inbounds %"class.std::experimental::coroutines_v1::coroutine_handle.0", %"class.std::experimental::coroutines_v1::coroutine_handle.0"* %agg.tmp24.reload.addr, i32 0, i32 0, !dbg !885
%14 = load i8*, i8** %coerce.dive29, align 8, !dbg !885
call void @_ZNKSt12experimental13coroutines_v114suspend_always13await_suspendENS0_16coroutine_handleIvEE(%"struct.std::experimental::coroutines_v1::suspend_always"* %ref.tmp22.reload.addr67, i8* %14) #2, !dbg !885
br label %CoroSuspend51, !dbg !886
CoroSuspend51: ; preds = %AfterCoroSave50
br label %resume.2.landing, !dbg !886
resume.2: ; preds = %Switch
br label %resume.2.landing, !dbg !886
resume.2.landing: ; preds = %resume.2, %CoroSuspend51
%15 = phi i8 [ -1, %CoroSuspend51 ], [ 1, %resume.2 ]
br label %AfterCoroSuspend52, !dbg !886
AfterCoroSuspend52: ; preds = %resume.2.landing
switch i8 %15, label %coro.ret [
i8 0, label %await2.ready
i8 1, label %await2.cleanup
], !dbg !886
await2.cleanup: ; preds = %AfterCoroSuspend52
br label %cleanup.from.await2.cleanup, !dbg !886
cleanup.from.await2.cleanup: ; preds = %await2.cleanup
%.cleanup58 = phi i32 [ 2, %await2.cleanup ]
br label %cleanup, !dbg !886
await2.ready: ; preds = %AfterCoroSuspend52, %await.ready
%ref.tmp22.reload.addr = getelementptr inbounds %_Z3foov.Frame, %_Z3foov.Frame* %FramePtr, i32 0, i32 12, !dbg !885
%j.reload.addr = getelementptr inbounds %_Z3foov.Frame, %_Z3foov.Frame* %FramePtr, i32 0, i32 11, !dbg !885
%i.reload.addr = getelementptr inbounds %_Z3foov.Frame, %_Z3foov.Frame* %FramePtr, i32 0, i32 7, !dbg !885
call void @_ZNKSt12experimental13coroutines_v114suspend_always12await_resumeEv(%"struct.std::experimental::coroutines_v1::suspend_always"* %ref.tmp22.reload.addr) #2, !dbg !885
%16 = load i32, i32* %i.reload.addr, align 4, !dbg !887
%inc30 = add nsw i32 %16, 1, !dbg !887
store i32 %inc30, i32* %i.reload.addr, align 4, !dbg !887
%17 = load i32, i32* %j.reload.addr, align 4, !dbg !888
%inc31 = add nsw i32 %17, 1, !dbg !888
store i32 %inc31, i32* %j.reload.addr, align 4, !dbg !888
%18 = load i32, i32* %j.reload.addr, align 4, !dbg !889
%19 = load i32, i32* %i.reload.addr, align 4, !dbg !890
%call32 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.1, i64 0, i64 0), i32 %18, i32 %19), !dbg !891
call void @_ZN4coro12promise_type11return_voidEv(%"struct.coro::promise_type"* %__promise), !dbg !869
br label %coro.final, !dbg !869
coro.final: ; preds = %await2.ready
%ref.tmp33.reload.addr70 = getelementptr inbounds %_Z3foov.Frame, %_Z3foov.Frame* %FramePtr, i32 0, i32 15, !dbg !869
call void @_ZN4coro12promise_type13final_suspendEv(%"struct.coro::promise_type"* %__promise), !dbg !869
%call35 = call zeroext i1 @_ZNKSt12experimental13coroutines_v113suspend_never11await_readyEv(%"struct.std::experimental::coroutines_v1::suspend_never"* %ref.tmp33.reload.addr70) #2, !dbg !869
br i1 %call35, label %final.ready, label %CoroSave53, !dbg !869
CoroSave53: ; preds = %coro.final
%ResumeFn.addr = getelementptr inbounds %_Z3foov.Frame, %_Z3foov.Frame* %FramePtr, i32 0, i32 0, !dbg !869
store void (%_Z3foov.Frame*)* null, void (%_Z3foov.Frame*)** %ResumeFn.addr, !dbg !869
br label %AfterCoroSave54, !dbg !869
AfterCoroSave54: ; preds = %CoroSave53
%ref.tmp37.reload.addr = getelementptr inbounds %_Z3foov.Frame, %_Z3foov.Frame* %FramePtr, i32 0, i32 17, !dbg !869
%agg.tmp36.reload.addr = getelementptr inbounds %_Z3foov.Frame, %_Z3foov.Frame* %FramePtr, i32 0, i32 16, !dbg !869
%ref.tmp33.reload.addr69 = getelementptr inbounds %_Z3foov.Frame, %_Z3foov.Frame* %FramePtr, i32 0, i32 15, !dbg !869
%call38 = call i8* @_ZNSt12experimental13coroutines_v116coroutine_handleIN4coro12promise_typeEE12from_addressEPv(i8* %vFrame) #2, !dbg !869
%coerce.dive39 = getelementptr inbounds %"class.std::experimental::coroutines_v1::coroutine_handle", %"class.std::experimental::coroutines_v1::coroutine_handle"* %ref.tmp37.reload.addr, i32 0, i32 0, !dbg !869
%coerce.dive40 = getelementptr inbounds %"class.std::experimental::coroutines_v1::coroutine_handle.0", %"class.std::experimental::coroutines_v1::coroutine_handle.0"* %coerce.dive39, i32 0, i32 0, !dbg !869
store i8* %call38, i8** %coerce.dive40, align 8, !dbg !869
%20 = bitcast %"class.std::experimental::coroutines_v1::coroutine_handle"* %ref.tmp37.reload.addr to %"class.std::experimental::coroutines_v1::coroutine_handle.0"*, !dbg !869
%21 = bitcast %"class.std::experimental::coroutines_v1::coroutine_handle.0"* %agg.tmp36.reload.addr to i8*, !dbg !869
%22 = bitcast %"class.std::experimental::coroutines_v1::coroutine_handle.0"* %20 to i8*, !dbg !869
call void @llvm.memcpy.p0i8.p0i8.i64(i8* align 8 %21, i8* align 8 %22, i64 8, i1 false), !dbg !869
%coerce.dive41 = getelementptr inbounds %"class.std::experimental::coroutines_v1::coroutine_handle.0", %"class.std::experimental::coroutines_v1::coroutine_handle.0"* %agg.tmp36.reload.addr, i32 0, i32 0, !dbg !869
%23 = load i8*, i8** %coerce.dive41, align 8, !dbg !869
call void @_ZNKSt12experimental13coroutines_v113suspend_never13await_suspendENS0_16coroutine_handleIvEE(%"struct.std::experimental::coroutines_v1::suspend_never"* %ref.tmp33.reload.addr69, i8* %23) #2, !dbg !869
br label %CoroSuspend55, !dbg !869
CoroSuspend55: ; preds = %AfterCoroSave54
br label %resume.3.landing, !dbg !869
resume.3: ; preds = %resume.entry
br label %resume.3.landing, !dbg !869
resume.3.landing: ; preds = %resume.3, %CoroSuspend55
%24 = phi i8 [ -1, %CoroSuspend55 ], [ 1, %resume.3 ]
br label %AfterCoroSuspend56, !dbg !869
AfterCoroSuspend56: ; preds = %resume.3.landing
switch i8 %24, label %coro.ret [
i8 0, label %final.ready
i8 1, label %final.cleanup
], !dbg !869
final.cleanup: ; preds = %AfterCoroSuspend56
br label %cleanup.from.final.cleanup, !dbg !869
cleanup.from.final.cleanup: ; preds = %final.cleanup
%.cleanup57 = phi i32 [ 2, %final.cleanup ]
br label %cleanup, !dbg !869
final.ready: ; preds = %AfterCoroSuspend56, %coro.final
%ref.tmp33.reload.addr = getelementptr inbounds %_Z3foov.Frame, %_Z3foov.Frame* %FramePtr, i32 0, i32 15, !dbg !869
call void @_ZNKSt12experimental13coroutines_v113suspend_never12await_resumeEv(%"struct.std::experimental::coroutines_v1::suspend_never"* %ref.tmp33.reload.addr) #2, !dbg !869
br label %cleanup.from.final.ready, !dbg !869
cleanup.from.final.ready: ; preds = %final.ready
%.cleanup = phi i32 [ 0, %final.ready ]
br label %cleanup, !dbg !869
cleanup: ; preds = %cleanup.from.final.ready, %cleanup.from.final.cleanup, %cleanup.from.await2.cleanup, %cleanup.from.await.cleanup, %cleanup.from.init.cleanup
%cleanup.dest.slot.0 = phi i32 [ %.cleanup, %cleanup.from.final.ready ], [ %.cleanup57, %cleanup.from.final.cleanup ], [ %.cleanup58, %cleanup.from.await2.cleanup ], [ %.cleanup59, %cleanup.from.await.cleanup ], [ %.cleanup60, %cleanup.from.init.cleanup ]
%25 = icmp ne i8* null, null, !dbg !869
br i1 %25, label %coro.free, label %after.coro.free, !dbg !869
coro.free: ; preds = %cleanup
call void @_ZdlPv(i8* null) #2, !dbg !869
br label %after.coro.free, !dbg !869
after.coro.free: ; preds = %coro.free, %cleanup
switch i32 %cleanup.dest.slot.0, label %unreachable [
i32 0, label %cleanup.cont
i32 2, label %coro.ret
]
cleanup.cont: ; preds = %after.coro.free
br label %coro.ret, !dbg !869
coro.ret: ; preds = %cleanup.cont, %after.coro.free, %AfterCoroSuspend56, %AfterCoroSuspend52, %AfterCoroSuspend48, %AfterCoroSuspend
br label %CoroEnd, !dbg !869
CoroEnd: ; preds = %coro.ret
ret void, !dbg !869
unreachable: ; preds = %after.coro.free
unreachable
resume.entry: ; preds = %entry.cleanup
%index.addr = getelementptr inbounds %_Z3foov.Frame, %_Z3foov.Frame* %FramePtr, i32 0, i32 3
%index = load i2, i2* %index.addr
%ResumeFn.addr1 = getelementptr inbounds %_Z3foov.Frame, %_Z3foov.Frame* %FramePtr, i32 0, i32 0
%26 = load void (%_Z3foov.Frame*)*, void (%_Z3foov.Frame*)** %ResumeFn.addr1
%27 = icmp eq void (%_Z3foov.Frame*)* %26, null
br i1 %27, label %resume.3, label %Switch
Switch: ; preds = %resume.entry
switch i2 %index, label %unreachable71 [
i2 0, label %resume.0
i2 1, label %resume.1
i2 -2, label %resume.2
]
unreachable71: ; preds = %Switch
unreachable, !dbg !869
}
attributes #0 = { noinline nounwind optnone uwtable "correctly-rounded-divide-sqrt-fp-math"="false" "denormal-fp-math"="ieee,ieee" "denormal-fp-math-f32"="ieee,ieee" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="false" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "unsafe-fp-math"="false" "use-soft-float"="false" }
attributes #1 = { argmemonly nounwind readonly }
attributes #2 = { nounwind }
attributes #3 = { nobuiltin "correctly-rounded-divide-sqrt-fp-math"="false" "denormal-fp-math"="ieee,ieee" "denormal-fp-math-f32"="ieee,ieee" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "no-infs-fp-math"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="false" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "unsafe-fp-math"="false" "use-soft-float"="false" }
attributes #4 = { nounwind readnone }
attributes #5 = { nounwind readnone speculatable willreturn }
attributes #6 = { argmemonly nounwind willreturn }
attributes #7 = { "correctly-rounded-divide-sqrt-fp-math"="false" "denormal-fp-math"="ieee,ieee" "denormal-fp-math-f32"="ieee,ieee" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "no-infs-fp-math"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="false" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "unsafe-fp-math"="false" "use-soft-float"="false" }
attributes #8 = { nobuiltin nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "denormal-fp-math"="ieee,ieee" "denormal-fp-math-f32"="ieee,ieee" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "no-infs-fp-math"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="false" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "unsafe-fp-math"="false" "use-soft-float"="false" }
attributes #9 = { noinline norecurse nounwind optnone uwtable "correctly-rounded-divide-sqrt-fp-math"="false" "denormal-fp-math"="ieee,ieee" "denormal-fp-math-f32"="ieee,ieee" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="false" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "unsafe-fp-math"="false" "use-soft-float"="false" }
attributes #10 = { alwaysinline }
!llvm.dbg.cu = !{!0}
!llvm.linker.options = !{}
!llvm.module.flags = !{!644, !645, !646}
!llvm.ident = !{!647}
!0 = distinct !DICompileUnit(language: DW_LANG_C_plus_plus_14, file: !1, producer: "clang version 11.0.0 (https://github.com/llvm/llvm-project.git cbd31f0e2df81b3f2807851551dfb5eda9e78017)", isOptimized: false, runtimeVersion: 0, emissionKind: FullDebug, enums: !2, retainedTypes: !3, imports: !108, splitDebugInlining: false, nameTableKind: None)
!1 = !DIFile(filename: "/home/modocache/Source/tmp/coro02242020/repro.cpp", directory: "/home/modocache/Source/llvm/git/dev/llvm-project")
!2 = !{}
!3 = !{!4}
!4 = distinct !DICompositeType(tag: DW_TAG_structure_type, name: "coro", file: !5, line: 6, size: 64, flags: DIFlagTypePassByValue | DIFlagNonTrivial, elements: !6, identifier: "_ZTS4coro")
!5 = !DIFile(filename: "tmp/coro02242020/repro.cpp", directory: "/home/modocache/Source")
!6 = !{!7, !104}
!7 = !DIDerivedType(tag: DW_TAG_member, name: "handle", scope: !4, file: !5, line: 18, baseType: !8, size: 64)
!8 = distinct !DICompositeType(tag: DW_TAG_class_type, name: "coroutine_handle<coro::promise_type>", scope: !10, file: !9, line: 196, size: 64, flags: DIFlagTypePassByValue | DIFlagNonTrivial, elements: !13, templateParams: !102, identifier: "_ZTSNSt12experimental13coroutines_v116coroutine_handleIN4coro12promise_typeEEE")
!9 = !DIFile(filename: "build/bin/../include/c++/v1/experimental/coroutine", directory: "/home/modocache/Source/llvm/git/dev/llvm-project")
!10 = !DINamespace(name: "coroutines_v1", scope: !11, exportSymbols: true)
!11 = !DINamespace(name: "experimental", scope: !12)
!12 = !DINamespace(name: "std", scope: null)
!13 = !{!14, !55, !60, !93, !96, !99}
!14 = !DIDerivedType(tag: DW_TAG_inheritance, scope: !8, baseType: !15, flags: DIFlagPublic, extraData: i32 0)
!15 = distinct !DICompositeType(tag: DW_TAG_class_type, name: "coroutine_handle<void>", scope: !10, file: !9, line: 92, size: 64, flags: DIFlagTypePassByValue | DIFlagNonTrivial, elements: !16, templateParams: !53, identifier: "_ZTSNSt12experimental13coroutines_v116coroutine_handleIvEE")
!16 = !{!17, !19, !23, !29, !33, !38, !42, !43, !44, !45, !46, !49, !52}
!17 = !DIDerivedType(tag: DW_TAG_member, name: "__handle_", scope: !15, file: !9, line: 166, baseType: !18, size: 64)
!18 = !DIDerivedType(tag: DW_TAG_pointer_type, baseType: null, size: 64)
!19 = !DISubprogram(name: "coroutine_handle", scope: !15, file: !9, line: 95, type: !20, scopeLine: 95, flags: DIFlagPublic | DIFlagPrototyped, spFlags: 0)
!20 = !DISubroutineType(types: !21)
!21 = !{null, !22}
!22 = !DIDerivedType(tag: DW_TAG_pointer_type, baseType: !15, size: 64, flags: DIFlagArtificial | DIFlagObjectPointer)
!23 = !DISubprogram(name: "coroutine_handle", scope: !15, file: !9, line: 98, type: !24, scopeLine: 98, flags: DIFlagPublic | DIFlagPrototyped, spFlags: 0)
!24 = !DISubroutineType(types: !25)
!25 = !{null, !22, !26}
!26 = !DIDerivedType(tag: DW_TAG_typedef, name: "nullptr_t", scope: !12, file: !27, line: 56, baseType: !28)
!27 = !DIFile(filename: "build/bin/../include/c++/v1/__nullptr", directory: "/home/modocache/Source/llvm/git/dev/llvm-project")
!28 = !DIBasicType(tag: DW_TAG_unspecified_type, name: "decltype(nullptr)")
!29 = !DISubprogram(name: "operator=", linkageName: "_ZNSt12experimental13coroutines_v116coroutine_handleIvEaSEDn", scope: !15, file: !9, line: 101, type: !30, scopeLine: 101, flags: DIFlagPublic | DIFlagPrototyped, spFlags: 0)
!30 = !DISubroutineType(types: !31)
!31 = !{!32, !22, !26}
!32 = !DIDerivedType(tag: DW_TAG_reference_type, baseType: !15, size: 64)
!33 = !DISubprogram(name: "address", linkageName: "_ZNKSt12experimental13coroutines_v116coroutine_handleIvE7addressEv", scope: !15, file: !9, line: 107, type: !34, scopeLine: 107, flags: DIFlagPublic | DIFlagPrototyped, spFlags: 0)
!34 = !DISubroutineType(types: !35)
!35 = !{!18, !36}
!36 = !DIDerivedType(tag: DW_TAG_pointer_type, baseType: !37, size: 64, flags: DIFlagArtificial | DIFlagObjectPointer)
!37 = !DIDerivedType(tag: DW_TAG_const_type, baseType: !15)
!38 = !DISubprogram(name: "operator bool", linkageName: "_ZNKSt12experimental13coroutines_v116coroutine_handleIvEcvbEv", scope: !15, file: !9, line: 110, type: !39, scopeLine: 110, flags: DIFlagPublic | DIFlagExplicit | DIFlagPrototyped, spFlags: 0)
!39 = !DISubroutineType(types: !40)
!40 = !{!41, !36}
!41 = !DIBasicType(name: "bool", size: 8, encoding: DW_ATE_boolean)
!42 = !DISubprogram(name: "operator()", linkageName: "_ZNSt12experimental13coroutines_v116coroutine_handleIvEclEv", scope: !15, file: !9, line: 113, type: !20, scopeLine: 113, flags: DIFlagPublic | DIFlagPrototyped, spFlags: 0)
!43 = !DISubprogram(name: "resume", linkageName: "_ZNSt12experimental13coroutines_v116coroutine_handleIvE6resumeEv", scope: !15, file: !9, line: 116, type: !20, scopeLine: 116, flags: DIFlagPublic | DIFlagPrototyped, spFlags: 0)
!44 = !DISubprogram(name: "destroy", linkageName: "_ZNSt12experimental13coroutines_v116coroutine_handleIvE7destroyEv", scope: !15, file: !9, line: 125, type: !20, scopeLine: 125, flags: DIFlagPublic | DIFlagPrototyped, spFlags: 0)
!45 = !DISubprogram(name: "done", linkageName: "_ZNKSt12experimental13coroutines_v116coroutine_handleIvE4doneEv", scope: !15, file: !9, line: 132, type: !39, scopeLine: 132, flags: DIFlagPublic | DIFlagPrototyped, spFlags: 0)
!46 = !DISubprogram(name: "from_address", linkageName: "_ZNSt12experimental13coroutines_v116coroutine_handleIvE12from_addressEPv", scope: !15, file: !9, line: 140, type: !47, scopeLine: 140, flags: DIFlagPublic | DIFlagPrototyped | DIFlagStaticMember, spFlags: 0)
!47 = !DISubroutineType(types: !48)
!48 = !{!15, !18}
!49 = !DISubprogram(name: "from_address", linkageName: "_ZNSt12experimental13coroutines_v116coroutine_handleIvE12from_addressEDn", scope: !15, file: !9, line: 148, type: !50, scopeLine: 148, flags: DIFlagPublic | DIFlagPrototyped | DIFlagStaticMember, spFlags: 0)
!50 = !DISubroutineType(types: !51)
!51 = !{!15, !26}
!52 = !DISubprogram(name: "__is_suspended", linkageName: "_ZNKSt12experimental13coroutines_v116coroutine_handleIvE14__is_suspendedEv", scope: !15, file: !9, line: 160, type: !39, scopeLine: 160, flags: DIFlagPrototyped, spFlags: 0)
!53 = !{!54}
!54 = !DITemplateTypeParameter(name: "_Promise", type: null)
!55 = !DISubprogram(name: "operator=", linkageName: "_ZNSt12experimental13coroutines_v116coroutine_handleIN4coro12promise_typeEEaSEDn", scope: !8, file: !9, line: 207, type: !56, scopeLine: 207, flags: DIFlagPublic | DIFlagPrototyped, spFlags: 0)
!56 = !DISubroutineType(types: !57)
!57 = !{!58, !59, !26}
!58 = !DIDerivedType(tag: DW_TAG_reference_type, baseType: !8, size: 64)
!59 = !DIDerivedType(tag: DW_TAG_pointer_type, baseType: !8, size: 64, flags: DIFlagArtificial | DIFlagObjectPointer)
!60 = !DISubprogram(name: "promise", linkageName: "_ZNKSt12experimental13coroutines_v116coroutine_handleIN4coro12promise_typeEE7promiseEv", scope: !8, file: !9, line: 213, type: !61, scopeLine: 213, flags: DIFlagPublic | DIFlagPrototyped, spFlags: 0)
!61 = !DISubroutineType(types: !62)
!62 = !{!63, !91}
!63 = !DIDerivedType(tag: DW_TAG_reference_type, baseType: !64, size: 64)
!64 = distinct !DICompositeType(tag: DW_TAG_structure_type, name: "promise_type", scope: !4, file: !5, line: 7, size: 8, flags: DIFlagTypePassByValue, elements: !65, identifier: "_ZTSN4coro12promise_typeE")
!65 = !{!66, !70, !86, !87, !90}
!66 = !DISubprogram(name: "get_return_object", linkageName: "_ZN4coro12promise_type17get_return_objectEv", scope: !64, file: !5, line: 8, type: !67, scopeLine: 8, flags: DIFlagPrototyped, spFlags: 0)
!67 = !DISubroutineType(types: !68)
!68 = !{!4, !69}
!69 = !DIDerivedType(tag: DW_TAG_pointer_type, baseType: !64, size: 64, flags: DIFlagArtificial | DIFlagObjectPointer)
!70 = !DISubprogram(name: "initial_suspend", linkageName: "_ZN4coro12promise_type15initial_suspendEv", scope: !64, file: !5, line: 12, type: !71, scopeLine: 12, flags: DIFlagPrototyped, spFlags: 0)
!71 = !DISubroutineType(types: !72)
!72 = !{!73, !69}
!73 = distinct !DICompositeType(tag: DW_TAG_structure_type, name: "suspend_never", scope: !10, file: !9, line: 300, size: 8, flags: DIFlagTypePassByValue, elements: !74, identifier: "_ZTSNSt12experimental13coroutines_v113suspend_neverE")
!74 = !{!75, !80, !83}
!75 = !DISubprogram(name: "await_ready", linkageName: "_ZNKSt12experimental13coroutines_v113suspend_never11await_readyEv", scope: !73, file: !9, line: 302, type: !76, scopeLine: 302, flags: DIFlagPrototyped, spFlags: 0)
!76 = !DISubroutineType(types: !77)
!77 = !{!41, !78}
!78 = !DIDerivedType(tag: DW_TAG_pointer_type, baseType: !79, size: 64, flags: DIFlagArtificial | DIFlagObjectPointer)
!79 = !DIDerivedType(tag: DW_TAG_const_type, baseType: !73)
!80 = !DISubprogram(name: "await_suspend", linkageName: "_ZNKSt12experimental13coroutines_v113suspend_never13await_suspendENS0_16coroutine_handleIvEE", scope: !73, file: !9, line: 304, type: !81, scopeLine: 304, flags: DIFlagPrototyped, spFlags: 0)
!81 = !DISubroutineType(types: !82)
!82 = !{null, !78, !15}
!83 = !DISubprogram(name: "await_resume", linkageName: "_ZNKSt12experimental13coroutines_v113suspend_never12await_resumeEv", scope: !73, file: !9, line: 306, type: !84, scopeLine: 306, flags: DIFlagPrototyped, spFlags: 0)
!84 = !DISubroutineType(types: !85)
!85 = !{null, !78}
!86 = !DISubprogram(name: "final_suspend", linkageName: "_ZN4coro12promise_type13final_suspendEv", scope: !64, file: !5, line: 13, type: !71, scopeLine: 13, flags: DIFlagPrototyped, spFlags: 0)
!87 = !DISubprogram(name: "return_void", linkageName: "_ZN4coro12promise_type11return_voidEv", scope: !64, file: !5, line: 14, type: !88, scopeLine: 14, flags: DIFlagPrototyped, spFlags: 0)
!88 = !DISubroutineType(types: !89)
!89 = !{null, !69}
!90 = !DISubprogram(name: "unhandled_exception", linkageName: "_ZN4coro12promise_type19unhandled_exceptionEv", scope: !64, file: !5, line: 15, type: !88, scopeLine: 15, flags: DIFlagPrototyped, spFlags: 0)
!91 = !DIDerivedType(tag: DW_TAG_pointer_type, baseType: !92, size: 64, flags: DIFlagArtificial | DIFlagObjectPointer)
!92 = !DIDerivedType(tag: DW_TAG_const_type, baseType: !8)
!93 = !DISubprogram(name: "from_address", linkageName: "_ZNSt12experimental13coroutines_v116coroutine_handleIN4coro12promise_typeEE12from_addressEPv", scope: !8, file: !9, line: 220, type: !94, scopeLine: 220, flags: DIFlagPublic | DIFlagPrototyped | DIFlagStaticMember, spFlags: 0)
!94 = !DISubroutineType(types: !95)
!95 = !{!8, !18}
!96 = !DISubprogram(name: "from_address", linkageName: "_ZNSt12experimental13coroutines_v116coroutine_handleIN4coro12promise_typeEE12from_addressEDn", scope: !8, file: !9, line: 231, type: !97, scopeLine: 231, flags: DIFlagPublic | DIFlagPrototyped | DIFlagStaticMember, spFlags: 0)
!97 = !DISubroutineType(types: !98)
!98 = !{!8, !26}
!99 = !DISubprogram(name: "from_promise", linkageName: "_ZNSt12experimental13coroutines_v116coroutine_handleIN4coro12promise_typeEE12from_promiseERS3_", scope: !8, file: !9, line: 250, type: !100, scopeLine: 250, flags: DIFlagPublic | DIFlagPrototyped | DIFlagStaticMember, spFlags: 0)
!100 = !DISubroutineType(types: !101)
!101 = !{!8, !63}
!102 = !{!103}
!103 = !DITemplateTypeParameter(name: "_Promise", type: !64)
!104 = !DISubprogram(name: "coro", scope: !4, file: !5, line: 19, type: !105, scopeLine: 19, flags: DIFlagPrototyped, spFlags: 0)
!105 = !DISubroutineType(types: !106)
!106 = !{null, !107, !8}
!107 = !DIDerivedType(tag: DW_TAG_pointer_type, baseType: !4, size: 64, flags: DIFlagArtificial | DIFlagObjectPointer)
!108 = !{!109, !116, !122, !126, !132, !134, !142, !146, !153, !155, !159, !163, !167, !173, !175, !179, !183, !187, !189, !193, !197, !201, !203, !205, !207, !212, !219, !225, !230, !236, !240, !244, !246, !248, !250, !254, !258, !262, !266, !270, !274, !278, !282, !286, !290, !292, !296, !298, !300, !303, !304, !308, !310, !314, !320, !327, !332, !334, !338, !342, !348, !353, !358, !362, !366, !370, !375, !377, !382, !386, !390, !394, !398, !402, !407, !411, !413, !417, !419, !427, !431, !436, !440, !444, !448, !452, !454, !458, !465, !469, !473, !480, !482, !484, !486, !493, !497, !500, !503, !508, !512, !515, !518, !522, !525, !528, !531, !534, !537, !540, !543, !545, !547, !549, !551, !553, !555, !557, !559, !561, !563, !566, !569, !571, !576, !580, !584, !588, !590, !592, !596, !598, !602, !604, !608, !613, !617, !621, !625, !627, !629, !631, !633, !635, !639, !643}
!109 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !110, entity: !111, file: !115, line: 107)
!110 = !DINamespace(name: "__1", scope: !12, exportSymbols: true)
!111 = !DIDerivedType(tag: DW_TAG_typedef, name: "FILE", file: !112, line: 7, baseType: !113)
!112 = !DIFile(filename: "/usr/include/x86_64-linux-gnu/bits/types/FILE.h", directory: "")
!113 = !DICompositeType(tag: DW_TAG_structure_type, name: "_IO_FILE", file: !114, line: 49, flags: DIFlagFwdDecl, identifier: "_ZTS8_IO_FILE")
!114 = !DIFile(filename: "/usr/include/x86_64-linux-gnu/bits/types/struct_FILE.h", directory: "")
!115 = !DIFile(filename: "build/bin/../include/c++/v1/cstdio", directory: "/home/modocache/Source/llvm/git/dev/llvm-project")
!116 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !110, entity: !117, file: !115, line: 108)
!117 = !DIDerivedType(tag: DW_TAG_typedef, name: "fpos_t", file: !118, line: 84, baseType: !119)
!118 = !DIFile(filename: "/usr/include/stdio.h", directory: "")
!119 = !DIDerivedType(tag: DW_TAG_typedef, name: "__fpos_t", file: !120, line: 14, baseType: !121)
!120 = !DIFile(filename: "/usr/include/x86_64-linux-gnu/bits/types/__fpos_t.h", directory: "")
!121 = !DICompositeType(tag: DW_TAG_structure_type, name: "_G_fpos_t", file: !120, line: 10, flags: DIFlagFwdDecl, identifier: "_ZTS9_G_fpos_t")
!122 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !110, entity: !123, file: !115, line: 109)
!123 = !DIDerivedType(tag: DW_TAG_typedef, name: "size_t", file: !124, line: 46, baseType: !125)
!124 = !DIFile(filename: "build/lib/clang/11.0.0/include/stddef.h", directory: "/home/modocache/Source/llvm/git/dev/llvm-project")
!125 = !DIBasicType(name: "long unsigned int", size: 64, encoding: DW_ATE_unsigned)
!126 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !110, entity: !127, file: !115, line: 111)
!127 = !DISubprogram(name: "fclose", scope: !118, file: !118, line: 213, type: !128, flags: DIFlagPrototyped, spFlags: 0)
!128 = !DISubroutineType(types: !129)
!129 = !{!130, !131}
!130 = !DIBasicType(name: "int", size: 32, encoding: DW_ATE_signed)
!131 = !DIDerivedType(tag: DW_TAG_pointer_type, baseType: !111, size: 64)
!132 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !110, entity: !133, file: !115, line: 112)
!133 = !DISubprogram(name: "fflush", scope: !118, file: !118, line: 218, type: !128, flags: DIFlagPrototyped, spFlags: 0)
!134 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !110, entity: !135, file: !115, line: 113)
!135 = !DISubprogram(name: "setbuf", scope: !118, file: !118, line: 304, type: !136, flags: DIFlagPrototyped, spFlags: 0)
!136 = !DISubroutineType(types: !137)
!137 = !{null, !138, !139}
!138 = !DIDerivedType(tag: DW_TAG_restrict_type, baseType: !131)
!139 = !DIDerivedType(tag: DW_TAG_restrict_type, baseType: !140)
!140 = !DIDerivedType(tag: DW_TAG_pointer_type, baseType: !141, size: 64)
!141 = !DIBasicType(name: "char", size: 8, encoding: DW_ATE_signed_char)
!142 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !110, entity: !143, file: !115, line: 114)
!143 = !DISubprogram(name: "setvbuf", scope: !118, file: !118, line: 308, type: !144, flags: DIFlagPrototyped, spFlags: 0)
!144 = !DISubroutineType(types: !145)
!145 = !{!130, !138, !139, !130, !123}
!146 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !110, entity: !147, file: !115, line: 115)
!147 = !DISubprogram(name: "fprintf", scope: !118, file: !118, line: 326, type: !148, flags: DIFlagPrototyped, spFlags: 0)
!148 = !DISubroutineType(types: !149)
!149 = !{!130, !138, !150, null}
!150 = !DIDerivedType(tag: DW_TAG_restrict_type, baseType: !151)
!151 = !DIDerivedType(tag: DW_TAG_pointer_type, baseType: !152, size: 64)
!152 = !DIDerivedType(tag: DW_TAG_const_type, baseType: !141)
!153 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !110, entity: !154, file: !115, line: 116)
!154 = !DISubprogram(name: "fscanf", linkageName: "__isoc99_fscanf", scope: !118, file: !118, line: 407, type: !148, flags: DIFlagPrototyped, spFlags: 0)
!155 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !110, entity: !156, file: !115, line: 117)
!156 = !DISubprogram(name: "snprintf", scope: !118, file: !118, line: 354, type: !157, flags: DIFlagPrototyped, spFlags: 0)
!157 = !DISubroutineType(types: !158)
!158 = !{!130, !139, !123, !150, null}
!159 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !110, entity: !160, file: !115, line: 118)
!160 = !DISubprogram(name: "sprintf", scope: !118, file: !118, line: 334, type: !161, flags: DIFlagPrototyped, spFlags: 0)
!161 = !DISubroutineType(types: !162)
!162 = !{!130, !139, !150, null}
!163 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !110, entity: !164, file: !115, line: 119)
!164 = !DISubprogram(name: "sscanf", linkageName: "__isoc99_sscanf", scope: !118, file: !118, line: 412, type: !165, flags: DIFlagPrototyped, spFlags: 0)
!165 = !DISubroutineType(types: !166)
!166 = !{!130, !150, !150, null}
!167 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !110, entity: !168, file: !115, line: 120)
!168 = !DISubprogram(name: "vfprintf", scope: !118, file: !118, line: 341, type: !169, flags: DIFlagPrototyped, spFlags: 0)
!169 = !DISubroutineType(types: !170)
!170 = !{!130, !138, !150, !171}
!171 = !DIDerivedType(tag: DW_TAG_pointer_type, baseType: !172, size: 64)
!172 = !DICompositeType(tag: DW_TAG_structure_type, name: "__va_list_tag", file: !1, flags: DIFlagFwdDecl, identifier: "_ZTS13__va_list_tag")
!173 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !110, entity: !174, file: !115, line: 121)
!174 = !DISubprogram(name: "vfscanf", linkageName: "__isoc99_vfscanf", scope: !118, file: !118, line: 451, type: !169, flags: DIFlagPrototyped, spFlags: 0)
!175 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !110, entity: !176, file: !115, line: 122)
!176 = !DISubprogram(name: "vsscanf", linkageName: "__isoc99_vsscanf", scope: !118, file: !118, line: 459, type: !177, flags: DIFlagPrototyped, spFlags: 0)
!177 = !DISubroutineType(types: !178)
!178 = !{!130, !150, !150, !171}
!179 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !110, entity: !180, file: !115, line: 123)
!180 = !DISubprogram(name: "vsnprintf", scope: !118, file: !118, line: 358, type: !181, flags: DIFlagPrototyped, spFlags: 0)
!181 = !DISubroutineType(types: !182)
!182 = !{!130, !139, !123, !150, !171}
!183 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !110, entity: !184, file: !115, line: 124)
!184 = !DISubprogram(name: "vsprintf", scope: !118, file: !118, line: 349, type: !185, flags: DIFlagPrototyped, spFlags: 0)
!185 = !DISubroutineType(types: !186)
!186 = !{!130, !139, !150, !171}
!187 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !110, entity: !188, file: !115, line: 125)
!188 = !DISubprogram(name: "fgetc", scope: !118, file: !118, line: 485, type: !128, flags: DIFlagPrototyped, spFlags: 0)
!189 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !110, entity: !190, file: !115, line: 126)
!190 = !DISubprogram(name: "fgets", scope: !118, file: !118, line: 564, type: !191, flags: DIFlagPrototyped, spFlags: 0)
!191 = !DISubroutineType(types: !192)
!192 = !{!140, !139, !130, !138}
!193 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !110, entity: !194, file: !115, line: 127)
!194 = !DISubprogram(name: "fputc", scope: !118, file: !118, line: 521, type: !195, flags: DIFlagPrototyped, spFlags: 0)
!195 = !DISubroutineType(types: !196)
!196 = !{!130, !130, !131}
!197 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !110, entity: !198, file: !115, line: 128)
!198 = !DISubprogram(name: "fputs", scope: !118, file: !118, line: 626, type: !199, flags: DIFlagPrototyped, spFlags: 0)
!199 = !DISubroutineType(types: !200)
!200 = !{!130, !150, !138}
!201 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !110, entity: !202, file: !115, line: 129)
!202 = !DISubprogram(name: "getc", scope: !118, file: !118, line: 486, type: !128, flags: DIFlagPrototyped, spFlags: 0)
!203 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !110, entity: !204, file: !115, line: 130)
!204 = !DISubprogram(name: "putc", scope: !118, file: !118, line: 522, type: !195, flags: DIFlagPrototyped, spFlags: 0)
!205 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !110, entity: !206, file: !115, line: 131)
!206 = !DISubprogram(name: "ungetc", scope: !118, file: !118, line: 639, type: !195, flags: DIFlagPrototyped, spFlags: 0)
!207 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !110, entity: !208, file: !115, line: 132)
!208 = !DISubprogram(name: "fread", scope: !118, file: !118, line: 646, type: !209, flags: DIFlagPrototyped, spFlags: 0)
!209 = !DISubroutineType(types: !210)
!210 = !{!123, !211, !123, !123, !138}
!211 = !DIDerivedType(tag: DW_TAG_restrict_type, baseType: !18)
!212 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !110, entity: !213, file: !115, line: 133)
!213 = !DISubprogram(name: "fwrite", scope: !118, file: !118, line: 652, type: !214, flags: DIFlagPrototyped, spFlags: 0)
!214 = !DISubroutineType(types: !215)
!215 = !{!123, !216, !123, !123, !138}
!216 = !DIDerivedType(tag: DW_TAG_restrict_type, baseType: !217)
!217 = !DIDerivedType(tag: DW_TAG_pointer_type, baseType: !218, size: 64)
!218 = !DIDerivedType(tag: DW_TAG_const_type, baseType: null)
!219 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !110, entity: !220, file: !115, line: 134)
!220 = !DISubprogram(name: "fgetpos", scope: !118, file: !118, line: 731, type: !221, flags: DIFlagPrototyped, spFlags: 0)
!221 = !DISubroutineType(types: !222)
!222 = !{!130, !138, !223}
!223 = !DIDerivedType(tag: DW_TAG_restrict_type, baseType: !224)
!224 = !DIDerivedType(tag: DW_TAG_pointer_type, baseType: !117, size: 64)
!225 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !110, entity: !226, file: !115, line: 135)
!226 = !DISubprogram(name: "fseek", scope: !118, file: !118, line: 684, type: !227, flags: DIFlagPrototyped, spFlags: 0)
!227 = !DISubroutineType(types: !228)
!228 = !{!130, !131, !229, !130}
!229 = !DIBasicType(name: "long int", size: 64, encoding: DW_ATE_signed)
!230 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !110, entity: !231, file: !115, line: 136)
!231 = !DISubprogram(name: "fsetpos", scope: !118, file: !118, line: 736, type: !232, flags: DIFlagPrototyped, spFlags: 0)
!232 = !DISubroutineType(types: !233)
!233 = !{!130, !131, !234}
!234 = !DIDerivedType(tag: DW_TAG_pointer_type, baseType: !235, size: 64)
!235 = !DIDerivedType(tag: DW_TAG_const_type, baseType: !117)
!236 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !110, entity: !237, file: !115, line: 137)
!237 = !DISubprogram(name: "ftell", scope: !118, file: !118, line: 689, type: !238, flags: DIFlagPrototyped, spFlags: 0)
!238 = !DISubroutineType(types: !239)
!239 = !{!229, !131}
!240 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !110, entity: !241, file: !115, line: 138)
!241 = !DISubprogram(name: "rewind", scope: !118, file: !118, line: 694, type: !242, flags: DIFlagPrototyped, spFlags: 0)
!242 = !DISubroutineType(types: !243)
!243 = !{null, !131}
!244 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !110, entity: !245, file: !115, line: 139)
!245 = !DISubprogram(name: "clearerr", scope: !118, file: !118, line: 757, type: !242, flags: DIFlagPrototyped, spFlags: 0)
!246 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !110, entity: !247, file: !115, line: 140)
!247 = !DISubprogram(name: "feof", scope: !118, file: !118, line: 759, type: !128, flags: DIFlagPrototyped, spFlags: 0)
!248 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !110, entity: !249, file: !115, line: 141)
!249 = !DISubprogram(name: "ferror", scope: !118, file: !118, line: 761, type: !128, flags: DIFlagPrototyped, spFlags: 0)
!250 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !110, entity: !251, file: !115, line: 142)
!251 = !DISubprogram(name: "perror", scope: !118, file: !118, line: 775, type: !252, flags: DIFlagPrototyped, spFlags: 0)
!252 = !DISubroutineType(types: !253)
!253 = !{null, !151}
!254 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !110, entity: !255, file: !115, line: 145)
!255 = !DISubprogram(name: "fopen", scope: !118, file: !118, line: 246, type: !256, flags: DIFlagPrototyped, spFlags: 0)
!256 = !DISubroutineType(types: !257)
!257 = !{!131, !150, !150}
!258 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !110, entity: !259, file: !115, line: 146)
!259 = !DISubprogram(name: "freopen", scope: !118, file: !118, line: 252, type: !260, flags: DIFlagPrototyped, spFlags: 0)
!260 = !DISubroutineType(types: !261)
!261 = !{!131, !150, !150, !138}
!262 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !110, entity: !263, file: !115, line: 147)
!263 = !DISubprogram(name: "remove", scope: !118, file: !118, line: 146, type: !264, flags: DIFlagPrototyped, spFlags: 0)
!264 = !DISubroutineType(types: !265)
!265 = !{!130, !151}
!266 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !110, entity: !267, file: !115, line: 148)
!267 = !DISubprogram(name: "rename", scope: !118, file: !118, line: 148, type: !268, flags: DIFlagPrototyped, spFlags: 0)
!268 = !DISubroutineType(types: !269)
!269 = !{!130, !151, !151}
!270 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !110, entity: !271, file: !115, line: 149)
!271 = !DISubprogram(name: "tmpfile", scope: !118, file: !118, line: 173, type: !272, flags: DIFlagPrototyped, spFlags: 0)
!272 = !DISubroutineType(types: !273)
!273 = !{!131}
!274 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !110, entity: !275, file: !115, line: 150)
!275 = !DISubprogram(name: "tmpnam", scope: !118, file: !118, line: 187, type: !276, flags: DIFlagPrototyped, spFlags: 0)
!276 = !DISubroutineType(types: !277)
!277 = !{!140, !140}
!278 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !110, entity: !279, file: !115, line: 154)
!279 = !DISubprogram(name: "getchar", scope: !118, file: !118, line: 492, type: !280, flags: DIFlagPrototyped, spFlags: 0)
!280 = !DISubroutineType(types: !281)
!281 = !{!130}
!282 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !110, entity: !283, file: !115, line: 158)
!283 = !DISubprogram(name: "scanf", linkageName: "__isoc99_scanf", scope: !118, file: !118, line: 410, type: !284, flags: DIFlagPrototyped, spFlags: 0)
!284 = !DISubroutineType(types: !285)
!285 = !{!130, !150, null}
!286 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !110, entity: !287, file: !115, line: 159)
!287 = !DISubprogram(name: "vscanf", linkageName: "__isoc99_vscanf", scope: !118, file: !118, line: 456, type: !288, flags: DIFlagPrototyped, spFlags: 0)
!288 = !DISubroutineType(types: !289)
!289 = !{!130, !150, !171}
!290 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !110, entity: !291, file: !115, line: 163)
!291 = !DISubprogram(name: "printf", scope: !118, file: !118, line: 332, type: !284, flags: DIFlagPrototyped, spFlags: 0)
!292 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !110, entity: !293, file: !115, line: 164)
!293 = !DISubprogram(name: "putchar", scope: !118, file: !118, line: 528, type: !294, flags: DIFlagPrototyped, spFlags: 0)
!294 = !DISubroutineType(types: !295)
!295 = !{!130, !130}
!296 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !110, entity: !297, file: !115, line: 165)
!297 = !DISubprogram(name: "puts", scope: !118, file: !118, line: 632, type: !264, flags: DIFlagPrototyped, spFlags: 0)
!298 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !110, entity: !299, file: !115, line: 166)
!299 = !DISubprogram(name: "vprintf", scope: !118, file: !118, line: 347, type: !288, flags: DIFlagPrototyped, spFlags: 0)
!300 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !110, entity: !301, file: !302, line: 49)
!301 = !DIDerivedType(tag: DW_TAG_typedef, name: "ptrdiff_t", file: !124, line: 35, baseType: !229)
!302 = !DIFile(filename: "build/bin/../include/c++/v1/cstddef", directory: "/home/modocache/Source/llvm/git/dev/llvm-project")
!303 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !110, entity: !123, file: !302, line: 50)
!304 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !110, entity: !305, file: !302, line: 55)
!305 = !DIDerivedType(tag: DW_TAG_typedef, name: "max_align_t", file: !306, line: 24, baseType: !307)
!306 = !DIFile(filename: "build/lib/clang/11.0.0/include/__stddef_max_align_t.h", directory: "/home/modocache/Source/llvm/git/dev/llvm-project")
!307 = !DICompositeType(tag: DW_TAG_structure_type, file: !306, line: 19, flags: DIFlagFwdDecl, identifier: "_ZTS11max_align_t")
!308 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !110, entity: !123, file: !309, line: 99)
!309 = !DIFile(filename: "build/bin/../include/c++/v1/cstdlib", directory: "/home/modocache/Source/llvm/git/dev/llvm-project")
!310 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !110, entity: !311, file: !309, line: 100)
!311 = !DIDerivedType(tag: DW_TAG_typedef, name: "div_t", file: !312, line: 62, baseType: !313)
!312 = !DIFile(filename: "/usr/include/stdlib.h", directory: "")
!313 = !DICompositeType(tag: DW_TAG_structure_type, file: !312, line: 58, flags: DIFlagFwdDecl, identifier: "_ZTS5div_t")
!314 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !110, entity: !315, file: !309, line: 101)
!315 = !DIDerivedType(tag: DW_TAG_typedef, name: "ldiv_t", file: !312, line: 70, baseType: !316)
!316 = distinct !DICompositeType(tag: DW_TAG_structure_type, file: !312, line: 66, size: 128, flags: DIFlagTypePassByValue, elements: !317, identifier: "_ZTS6ldiv_t")
!317 = !{!318, !319}
!318 = !DIDerivedType(tag: DW_TAG_member, name: "quot", scope: !316, file: !312, line: 68, baseType: !229, size: 64)
!319 = !DIDerivedType(tag: DW_TAG_member, name: "rem", scope: !316, file: !312, line: 69, baseType: !229, size: 64, offset: 64)
!320 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !110, entity: !321, file: !309, line: 103)
!321 = !DIDerivedType(tag: DW_TAG_typedef, name: "lldiv_t", file: !312, line: 80, baseType: !322)
!322 = distinct !DICompositeType(tag: DW_TAG_structure_type, file: !312, line: 76, size: 128, flags: DIFlagTypePassByValue, elements: !323, identifier: "_ZTS7lldiv_t")
!323 = !{!324, !326}
!324 = !DIDerivedType(tag: DW_TAG_member, name: "quot", scope: !322, file: !312, line: 78, baseType: !325, size: 64)
!325 = !DIBasicType(name: "long long int", size: 64, encoding: DW_ATE_signed)
!326 = !DIDerivedType(tag: DW_TAG_member, name: "rem", scope: !322, file: !312, line: 79, baseType: !325, size: 64, offset: 64)
!327 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !110, entity: !328, file: !309, line: 105)
!328 = !DISubprogram(name: "atof", scope: !312, file: !312, line: 101, type: !329, flags: DIFlagPrototyped, spFlags: 0)
!329 = !DISubroutineType(types: !330)
!330 = !{!331, !151}
!331 = !DIBasicType(name: "double", size: 64, encoding: DW_ATE_float)
!332 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !110, entity: !333, file: !309, line: 106)
!333 = !DISubprogram(name: "atoi", scope: !312, file: !312, line: 104, type: !264, flags: DIFlagPrototyped, spFlags: 0)
!334 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !110, entity: !335, file: !309, line: 107)
!335 = !DISubprogram(name: "atol", scope: !312, file: !312, line: 107, type: !336, flags: DIFlagPrototyped, spFlags: 0)
!336 = !DISubroutineType(types: !337)
!337 = !{!229, !151}
!338 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !110, entity: !339, file: !309, line: 109)
!339 = !DISubprogram(name: "atoll", scope: !312, file: !312, line: 112, type: !340, flags: DIFlagPrototyped, spFlags: 0)
!340 = !DISubroutineType(types: !341)
!341 = !{!325, !151}
!342 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !110, entity: !343, file: !309, line: 111)
!343 = !DISubprogram(name: "strtod", scope: !312, file: !312, line: 117, type: !344, flags: DIFlagPrototyped, spFlags: 0)
!344 = !DISubroutineType(types: !345)
!345 = !{!331, !150, !346}
!346 = !DIDerivedType(tag: DW_TAG_restrict_type, baseType: !347)
!347 = !DIDerivedType(tag: DW_TAG_pointer_type, baseType: !140, size: 64)
!348 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !110, entity: !349, file: !309, line: 112)
!349 = !DISubprogram(name: "strtof", scope: !312, file: !312, line: 123, type: !350, flags: DIFlagPrototyped, spFlags: 0)
!350 = !DISubroutineType(types: !351)
!351 = !{!352, !150, !346}
!352 = !DIBasicType(name: "float", size: 32, encoding: DW_ATE_float)
!353 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !110, entity: !354, file: !309, line: 113)
!354 = !DISubprogram(name: "strtold", scope: !312, file: !312, line: 126, type: !355, flags: DIFlagPrototyped, spFlags: 0)
!355 = !DISubroutineType(types: !356)
!356 = !{!357, !150, !346}
!357 = !DIBasicType(name: "long double", size: 128, encoding: DW_ATE_float)
!358 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !110, entity: !359, file: !309, line: 114)
!359 = !DISubprogram(name: "strtol", scope: !312, file: !312, line: 176, type: !360, flags: DIFlagPrototyped, spFlags: 0)
!360 = !DISubroutineType(types: !361)
!361 = !{!229, !150, !346, !130}
!362 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !110, entity: !363, file: !309, line: 116)
!363 = !DISubprogram(name: "strtoll", scope: !312, file: !312, line: 200, type: !364, flags: DIFlagPrototyped, spFlags: 0)
!364 = !DISubroutineType(types: !365)
!365 = !{!325, !150, !346, !130}
!366 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !110, entity: !367, file: !309, line: 118)
!367 = !DISubprogram(name: "strtoul", scope: !312, file: !312, line: 180, type: !368, flags: DIFlagPrototyped, spFlags: 0)
!368 = !DISubroutineType(types: !369)
!369 = !{!125, !150, !346, !130}
!370 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !110, entity: !371, file: !309, line: 120)
!371 = !DISubprogram(name: "strtoull", scope: !312, file: !312, line: 205, type: !372, flags: DIFlagPrototyped, spFlags: 0)
!372 = !DISubroutineType(types: !373)
!373 = !{!374, !150, !346, !130}
!374 = !DIBasicType(name: "long long unsigned int", size: 64, encoding: DW_ATE_unsigned)
!375 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !110, entity: !376, file: !309, line: 122)
!376 = !DISubprogram(name: "rand", scope: !312, file: !312, line: 453, type: !280, flags: DIFlagPrototyped, spFlags: 0)
!377 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !110, entity: !378, file: !309, line: 123)
!378 = !DISubprogram(name: "srand", scope: !312, file: !312, line: 455, type: !379, flags: DIFlagPrototyped, spFlags: 0)
!379 = !DISubroutineType(types: !380)
!380 = !{null, !381}
!381 = !DIBasicType(name: "unsigned int", size: 32, encoding: DW_ATE_unsigned)
!382 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !110, entity: !383, file: !309, line: 124)
!383 = !DISubprogram(name: "calloc", scope: !312, file: !312, line: 542, type: !384, flags: DIFlagPrototyped, spFlags: 0)
!384 = !DISubroutineType(types: !385)
!385 = !{!18, !123, !123}
!386 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !110, entity: !387, file: !309, line: 125)
!387 = !DISubprogram(name: "free", scope: !312, file: !312, line: 565, type: !388, flags: DIFlagPrototyped, spFlags: 0)
!388 = !DISubroutineType(types: !389)
!389 = !{null, !18}
!390 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !110, entity: !391, file: !309, line: 126)
!391 = !DISubprogram(name: "malloc", scope: !312, file: !312, line: 539, type: !392, flags: DIFlagPrototyped, spFlags: 0)
!392 = !DISubroutineType(types: !393)
!393 = !{!18, !123}
!394 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !110, entity: !395, file: !309, line: 127)
!395 = !DISubprogram(name: "realloc", scope: !312, file: !312, line: 550, type: !396, flags: DIFlagPrototyped, spFlags: 0)
!396 = !DISubroutineType(types: !397)
!397 = !{!18, !18, !123}
!398 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !110, entity: !399, file: !309, line: 128)
!399 = !DISubprogram(name: "abort", scope: !312, file: !312, line: 591, type: !400, flags: DIFlagPrototyped | DIFlagNoReturn, spFlags: 0)
!400 = !DISubroutineType(types: !401)
!401 = !{null}
!402 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !110, entity: !403, file: !309, line: 129)
!403 = !DISubprogram(name: "atexit", scope: !312, file: !312, line: 595, type: !404, flags: DIFlagPrototyped, spFlags: 0)
!404 = !DISubroutineType(types: !405)
!405 = !{!130, !406}
!406 = !DIDerivedType(tag: DW_TAG_pointer_type, baseType: !400, size: 64)
!407 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !110, entity: !408, file: !309, line: 130)
!408 = !DISubprogram(name: "exit", scope: !312, file: !312, line: 617, type: !409, flags: DIFlagPrototyped | DIFlagNoReturn, spFlags: 0)
!409 = !DISubroutineType(types: !410)
!410 = !{null, !130}
!411 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !110, entity: !412, file: !309, line: 131)
!412 = !DISubprogram(name: "_Exit", scope: !312, file: !312, line: 629, type: !409, flags: DIFlagPrototyped | DIFlagNoReturn, spFlags: 0)
!413 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !110, entity: !414, file: !309, line: 133)
!414 = !DISubprogram(name: "getenv", scope: !312, file: !312, line: 634, type: !415, flags: DIFlagPrototyped, spFlags: 0)
!415 = !DISubroutineType(types: !416)
!416 = !{!140, !151}
!417 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !110, entity: !418, file: !309, line: 134)
!418 = !DISubprogram(name: "system", scope: !312, file: !312, line: 784, type: !264, flags: DIFlagPrototyped, spFlags: 0)
!419 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !110, entity: !420, file: !309, line: 136)
!420 = !DISubprogram(name: "bsearch", scope: !312, file: !312, line: 820, type: !421, flags: DIFlagPrototyped, spFlags: 0)
!421 = !DISubroutineType(types: !422)
!422 = !{!18, !217, !217, !123, !123, !423}
!423 = !DIDerivedType(tag: DW_TAG_typedef, name: "__compar_fn_t", file: !312, line: 808, baseType: !424)
!424 = !DIDerivedType(tag: DW_TAG_pointer_type, baseType: !425, size: 64)
!425 = !DISubroutineType(types: !426)
!426 = !{!130, !217, !217}
!427 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !110, entity: !428, file: !309, line: 137)
!428 = !DISubprogram(name: "qsort", scope: !312, file: !312, line: 830, type: !429, flags: DIFlagPrototyped, spFlags: 0)
!429 = !DISubroutineType(types: !430)
!430 = !{null, !18, !123, !123, !423}
!431 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !110, entity: !432, file: !309, line: 138)
!432 = !DISubprogram(name: "abs", linkageName: "_Z3abse", scope: !433, file: !433, line: 793, type: !434, flags: DIFlagPrototyped, spFlags: 0)
!433 = !DIFile(filename: "build/bin/../include/c++/v1/math.h", directory: "/home/modocache/Source/llvm/git/dev/llvm-project")
!434 = !DISubroutineType(types: !435)
!435 = !{!357, !357}
!436 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !110, entity: !437, file: !309, line: 139)
!437 = !DISubprogram(name: "labs", scope: !312, file: !312, line: 841, type: !438, flags: DIFlagPrototyped, spFlags: 0)
!438 = !DISubroutineType(types: !439)
!439 = !{!229, !229}
!440 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !110, entity: !441, file: !309, line: 141)
!441 = !DISubprogram(name: "llabs", scope: !312, file: !312, line: 844, type: !442, flags: DIFlagPrototyped, spFlags: 0)
!442 = !DISubroutineType(types: !443)
!443 = !{!325, !325}
!444 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !110, entity: !445, file: !309, line: 143)
!445 = !DISubprogram(name: "div", linkageName: "_Z3divxx", scope: !433, file: !433, line: 812, type: !446, flags: DIFlagPrototyped, spFlags: 0)
!446 = !DISubroutineType(types: !447)
!447 = !{!321, !325, !325}
!448 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !110, entity: !449, file: !309, line: 144)
!449 = !DISubprogram(name: "ldiv", scope: !312, file: !312, line: 854, type: !450, flags: DIFlagPrototyped, spFlags: 0)
!450 = !DISubroutineType(types: !451)
!451 = !{!315, !229, !229}
!452 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !110, entity: !453, file: !309, line: 146)
!453 = !DISubprogram(name: "lldiv", scope: !312, file: !312, line: 858, type: !446, flags: DIFlagPrototyped, spFlags: 0)
!454 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !110, entity: !455, file: !309, line: 148)
!455 = !DISubprogram(name: "mblen", scope: !312, file: !312, line: 922, type: !456, flags: DIFlagPrototyped, spFlags: 0)
!456 = !DISubroutineType(types: !457)
!457 = !{!130, !151, !123}
!458 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !110, entity: !459, file: !309, line: 149)
!459 = !DISubprogram(name: "mbtowc", scope: !312, file: !312, line: 925, type: !460, flags: DIFlagPrototyped, spFlags: 0)
!460 = !DISubroutineType(types: !461)
!461 = !{!130, !462, !150, !123}
!462 = !DIDerivedType(tag: DW_TAG_restrict_type, baseType: !463)
!463 = !DIDerivedType(tag: DW_TAG_pointer_type, baseType: !464, size: 64)
!464 = !DIBasicType(name: "wchar_t", size: 32, encoding: DW_ATE_signed)
!465 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !110, entity: !466, file: !309, line: 150)
!466 = !DISubprogram(name: "wctomb", scope: !312, file: !312, line: 929, type: !467, flags: DIFlagPrototyped, spFlags: 0)
!467 = !DISubroutineType(types: !468)
!468 = !{!130, !140, !464}
!469 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !110, entity: !470, file: !309, line: 151)
!470 = !DISubprogram(name: "mbstowcs", scope: !312, file: !312, line: 933, type: !471, flags: DIFlagPrototyped, spFlags: 0)
!471 = !DISubroutineType(types: !472)
!472 = !{!123, !462, !150, !123}
!473 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !110, entity: !474, file: !309, line: 152)
!474 = !DISubprogram(name: "wcstombs", scope: !312, file: !312, line: 936, type: !475, flags: DIFlagPrototyped, spFlags: 0)
!475 = !DISubroutineType(types: !476)
!476 = !{!123, !139, !477, !123}
!477 = !DIDerivedType(tag: DW_TAG_restrict_type, baseType: !478)
!478 = !DIDerivedType(tag: DW_TAG_pointer_type, baseType: !479, size: 64)
!479 = !DIDerivedType(tag: DW_TAG_const_type, baseType: !464)
!480 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !110, entity: !481, file: !309, line: 154)
!481 = !DISubprogram(name: "at_quick_exit", scope: !312, file: !312, line: 600, type: !404, flags: DIFlagPrototyped, spFlags: 0)
!482 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !110, entity: !483, file: !309, line: 155)
!483 = !DISubprogram(name: "quick_exit", scope: !312, file: !312, line: 623, type: !409, flags: DIFlagPrototyped | DIFlagNoReturn, spFlags: 0)
!484 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !110, entity: !485, file: !309, line: 158)
!485 = !DISubprogram(name: "aligned_alloc", scope: !312, file: !312, line: 586, type: !384, flags: DIFlagPrototyped, spFlags: 0)
!486 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !110, entity: !487, file: !492, line: 152)
!487 = !DIDerivedType(tag: DW_TAG_typedef, name: "int8_t", file: !488, line: 24, baseType: !489)
!488 = !DIFile(filename: "/usr/include/x86_64-linux-gnu/bits/stdint-intn.h", directory: "")
!489 = !DIDerivedType(tag: DW_TAG_typedef, name: "__int8_t", file: !490, line: 37, baseType: !491)
!490 = !DIFile(filename: "/usr/include/x86_64-linux-gnu/bits/types.h", directory: "")
!491 = !DIBasicType(name: "signed char", size: 8, encoding: DW_ATE_signed_char)
!492 = !DIFile(filename: "build/bin/../include/c++/v1/cstdint", directory: "/home/modocache/Source/llvm/git/dev/llvm-project")
!493 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !110, entity: !494, file: !492, line: 153)
!494 = !DIDerivedType(tag: DW_TAG_typedef, name: "int16_t", file: !488, line: 25, baseType: !495)
!495 = !DIDerivedType(tag: DW_TAG_typedef, name: "__int16_t", file: !490, line: 39, baseType: !496)
!496 = !DIBasicType(name: "short", size: 16, encoding: DW_ATE_signed)
!497 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !110, entity: !498, file: !492, line: 154)
!498 = !DIDerivedType(tag: DW_TAG_typedef, name: "int32_t", file: !488, line: 26, baseType: !499)
!499 = !DIDerivedType(tag: DW_TAG_typedef, name: "__int32_t", file: !490, line: 41, baseType: !130)
!500 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !110, entity: !501, file: !492, line: 155)
!501 = !DIDerivedType(tag: DW_TAG_typedef, name: "int64_t", file: !488, line: 27, baseType: !502)
!502 = !DIDerivedType(tag: DW_TAG_typedef, name: "__int64_t", file: !490, line: 44, baseType: !229)
!503 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !110, entity: !504, file: !492, line: 157)
!504 = !DIDerivedType(tag: DW_TAG_typedef, name: "uint8_t", file: !505, line: 24, baseType: !506)
!505 = !DIFile(filename: "/usr/include/x86_64-linux-gnu/bits/stdint-uintn.h", directory: "")
!506 = !DIDerivedType(tag: DW_TAG_typedef, name: "__uint8_t", file: !490, line: 38, baseType: !507)
!507 = !DIBasicType(name: "unsigned char", size: 8, encoding: DW_ATE_unsigned_char)
!508 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !110, entity: !509, file: !492, line: 158)
!509 = !DIDerivedType(tag: DW_TAG_typedef, name: "uint16_t", file: !505, line: 25, baseType: !510)
!510 = !DIDerivedType(tag: DW_TAG_typedef, name: "__uint16_t", file: !490, line: 40, baseType: !511)
!511 = !DIBasicType(name: "unsigned short", size: 16, encoding: DW_ATE_unsigned)
!512 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !110, entity: !513, file: !492, line: 159)
!513 = !DIDerivedType(tag: DW_TAG_typedef, name: "uint32_t", file: !505, line: 26, baseType: !514)
!514 = !DIDerivedType(tag: DW_TAG_typedef, name: "__uint32_t", file: !490, line: 42, baseType: !381)
!515 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !110, entity: !516, file: !492, line: 160)
!516 = !DIDerivedType(tag: DW_TAG_typedef, name: "uint64_t", file: !505, line: 27, baseType: !517)
!517 = !DIDerivedType(tag: DW_TAG_typedef, name: "__uint64_t", file: !490, line: 45, baseType: !125)
!518 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !110, entity: !519, file: !492, line: 162)
!519 = !DIDerivedType(tag: DW_TAG_typedef, name: "int_least8_t", file: !520, line: 43, baseType: !521)
!520 = !DIFile(filename: "/usr/include/stdint.h", directory: "")
!521 = !DIDerivedType(tag: DW_TAG_typedef, name: "__int_least8_t", file: !490, line: 52, baseType: !489)
!522 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !110, entity: !523, file: !492, line: 163)
!523 = !DIDerivedType(tag: DW_TAG_typedef, name: "int_least16_t", file: !520, line: 44, baseType: !524)
!524 = !DIDerivedType(tag: DW_TAG_typedef, name: "__int_least16_t", file: !490, line: 54, baseType: !495)
!525 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !110, entity: !526, file: !492, line: 164)
!526 = !DIDerivedType(tag: DW_TAG_typedef, name: "int_least32_t", file: !520, line: 45, baseType: !527)
!527 = !DIDerivedType(tag: DW_TAG_typedef, name: "__int_least32_t", file: !490, line: 56, baseType: !499)
!528 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !110, entity: !529, file: !492, line: 165)
!529 = !DIDerivedType(tag: DW_TAG_typedef, name: "int_least64_t", file: !520, line: 46, baseType: !530)
!530 = !DIDerivedType(tag: DW_TAG_typedef, name: "__int_least64_t", file: !490, line: 58, baseType: !502)
!531 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !110, entity: !532, file: !492, line: 167)
!532 = !DIDerivedType(tag: DW_TAG_typedef, name: "uint_least8_t", file: !520, line: 49, baseType: !533)
!533 = !DIDerivedType(tag: DW_TAG_typedef, name: "__uint_least8_t", file: !490, line: 53, baseType: !506)
!534 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !110, entity: !535, file: !492, line: 168)
!535 = !DIDerivedType(tag: DW_TAG_typedef, name: "uint_least16_t", file: !520, line: 50, baseType: !536)
!536 = !DIDerivedType(tag: DW_TAG_typedef, name: "__uint_least16_t", file: !490, line: 55, baseType: !510)
!537 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !110, entity: !538, file: !492, line: 169)
!538 = !DIDerivedType(tag: DW_TAG_typedef, name: "uint_least32_t", file: !520, line: 51, baseType: !539)
!539 = !DIDerivedType(tag: DW_TAG_typedef, name: "__uint_least32_t", file: !490, line: 57, baseType: !514)
!540 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !110, entity: !541, file: !492, line: 170)
!541 = !DIDerivedType(tag: DW_TAG_typedef, name: "uint_least64_t", file: !520, line: 52, baseType: !542)
!542 = !DIDerivedType(tag: DW_TAG_typedef, name: "__uint_least64_t", file: !490, line: 59, baseType: !517)
!543 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !110, entity: !544, file: !492, line: 172)
!544 = !DIDerivedType(tag: DW_TAG_typedef, name: "int_fast8_t", file: !520, line: 58, baseType: !491)
!545 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !110, entity: !546, file: !492, line: 173)
!546 = !DIDerivedType(tag: DW_TAG_typedef, name: "int_fast16_t", file: !520, line: 60, baseType: !229)
!547 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !110, entity: !548, file: !492, line: 174)
!548 = !DIDerivedType(tag: DW_TAG_typedef, name: "int_fast32_t", file: !520, line: 61, baseType: !229)
!549 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !110, entity: !550, file: !492, line: 175)
!550 = !DIDerivedType(tag: DW_TAG_typedef, name: "int_fast64_t", file: !520, line: 62, baseType: !229)
!551 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !110, entity: !552, file: !492, line: 177)
!552 = !DIDerivedType(tag: DW_TAG_typedef, name: "uint_fast8_t", file: !520, line: 71, baseType: !507)
!553 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !110, entity: !554, file: !492, line: 178)
!554 = !DIDerivedType(tag: DW_TAG_typedef, name: "uint_fast16_t", file: !520, line: 73, baseType: !125)
!555 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !110, entity: !556, file: !492, line: 179)
!556 = !DIDerivedType(tag: DW_TAG_typedef, name: "uint_fast32_t", file: !520, line: 74, baseType: !125)
!557 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !110, entity: !558, file: !492, line: 180)
!558 = !DIDerivedType(tag: DW_TAG_typedef, name: "uint_fast64_t", file: !520, line: 75, baseType: !125)
!559 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !110, entity: !560, file: !492, line: 182)
!560 = !DIDerivedType(tag: DW_TAG_typedef, name: "intptr_t", file: !520, line: 87, baseType: !229)
!561 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !110, entity: !562, file: !492, line: 183)
!562 = !DIDerivedType(tag: DW_TAG_typedef, name: "uintptr_t", file: !520, line: 90, baseType: !125)
!563 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !110, entity: !564, file: !492, line: 185)
!564 = !DIDerivedType(tag: DW_TAG_typedef, name: "intmax_t", file: !520, line: 101, baseType: !565)
!565 = !DIDerivedType(tag: DW_TAG_typedef, name: "__intmax_t", file: !490, line: 72, baseType: !229)
!566 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !110, entity: !567, file: !492, line: 186)
!567 = !DIDerivedType(tag: DW_TAG_typedef, name: "uintmax_t", file: !520, line: 102, baseType: !568)
!568 = !DIDerivedType(tag: DW_TAG_typedef, name: "__uintmax_t", file: !490, line: 73, baseType: !125)
!569 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !110, entity: !123, file: !570, line: 68)
!570 = !DIFile(filename: "build/bin/../include/c++/v1/cstring", directory: "/home/modocache/Source/llvm/git/dev/llvm-project")
!571 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !110, entity: !572, file: !570, line: 69)
!572 = !DISubprogram(name: "memcpy", scope: !573, file: !573, line: 42, type: !574, flags: DIFlagPrototyped, spFlags: 0)
!573 = !DIFile(filename: "/usr/include/string.h", directory: "")
!574 = !DISubroutineType(types: !575)
!575 = !{!18, !211, !216, !123}
!576 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !110, entity: !577, file: !570, line: 70)
!577 = !DISubprogram(name: "memmove", scope: !573, file: !573, line: 46, type: !578, flags: DIFlagPrototyped, spFlags: 0)
!578 = !DISubroutineType(types: !579)
!579 = !{!18, !18, !217, !123}
!580 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !110, entity: !581, file: !570, line: 71)
!581 = !DISubprogram(name: "strcpy", scope: !573, file: !573, line: 121, type: !582, flags: DIFlagPrototyped, spFlags: 0)
!582 = !DISubroutineType(types: !583)
!583 = !{!140, !139, !150}
!584 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !110, entity: !585, file: !570, line: 72)
!585 = !DISubprogram(name: "strncpy", scope: !573, file: !573, line: 124, type: !586, flags: DIFlagPrototyped, spFlags: 0)
!586 = !DISubroutineType(types: !587)
!587 = !{!140, !139, !150, !123}
!588 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !110, entity: !589, file: !570, line: 73)
!589 = !DISubprogram(name: "strcat", scope: !573, file: !573, line: 129, type: !582, flags: DIFlagPrototyped, spFlags: 0)
!590 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !110, entity: !591, file: !570, line: 74)
!591 = !DISubprogram(name: "strncat", scope: !573, file: !573, line: 132, type: !586, flags: DIFlagPrototyped, spFlags: 0)
!592 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !110, entity: !593, file: !570, line: 75)
!593 = !DISubprogram(name: "memcmp", scope: !573, file: !573, line: 63, type: !594, flags: DIFlagPrototyped, spFlags: 0)
!594 = !DISubroutineType(types: !595)
!595 = !{!130, !217, !217, !123}
!596 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !110, entity: !597, file: !570, line: 76)
!597 = !DISubprogram(name: "strcmp", scope: !573, file: !573, line: 136, type: !268, flags: DIFlagPrototyped, spFlags: 0)
!598 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !110, entity: !599, file: !570, line: 77)
!599 = !DISubprogram(name: "strncmp", scope: !573, file: !573, line: 139, type: !600, flags: DIFlagPrototyped, spFlags: 0)
!600 = !DISubroutineType(types: !601)
!601 = !{!130, !151, !151, !123}
!602 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !110, entity: !603, file: !570, line: 78)
!603 = !DISubprogram(name: "strcoll", scope: !573, file: !573, line: 143, type: !268, flags: DIFlagPrototyped, spFlags: 0)
!604 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !110, entity: !605, file: !570, line: 79)
!605 = !DISubprogram(name: "strxfrm", scope: !573, file: !573, line: 146, type: !606, flags: DIFlagPrototyped, spFlags: 0)
!606 = !DISubroutineType(types: !607)
!607 = !{!123, !139, !150, !123}
!608 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !110, entity: !609, file: !570, line: 80)
!609 = !DISubprogram(name: "memchr", linkageName: "_Z6memchrUa9enable_ifIXLb1EEEPvim", scope: !610, file: !610, line: 98, type: !611, flags: DIFlagPrototyped, spFlags: 0)
!610 = !DIFile(filename: "build/bin/../include/c++/v1/string.h", directory: "/home/modocache/Source/llvm/git/dev/llvm-project")
!611 = !DISubroutineType(types: !612)
!612 = !{!18, !18, !130, !123}
!613 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !110, entity: !614, file: !570, line: 81)
!614 = !DISubprogram(name: "strchr", linkageName: "_Z6strchrUa9enable_ifIXLb1EEEPci", scope: !610, file: !610, line: 77, type: !615, flags: DIFlagPrototyped, spFlags: 0)
!615 = !DISubroutineType(types: !616)
!616 = !{!140, !140, !130}
!617 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !110, entity: !618, file: !570, line: 82)
!618 = !DISubprogram(name: "strcspn", scope: !573, file: !573, line: 272, type: !619, flags: DIFlagPrototyped, spFlags: 0)
!619 = !DISubroutineType(types: !620)
!620 = !{!123, !151, !151}
!621 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !110, entity: !622, file: !570, line: 83)
!622 = !DISubprogram(name: "strpbrk", linkageName: "_Z7strpbrkUa9enable_ifIXLb1EEEPcPKc", scope: !610, file: !610, line: 84, type: !623, flags: DIFlagPrototyped, spFlags: 0)
!623 = !DISubroutineType(types: !624)
!624 = !{!140, !140, !151}
!625 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !110, entity: !626, file: !570, line: 84)
!626 = !DISubprogram(name: "strrchr", linkageName: "_Z7strrchrUa9enable_ifIXLb1EEEPci", scope: !610, file: !610, line: 91, type: !615, flags: DIFlagPrototyped, spFlags: 0)
!627 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !110, entity: !628, file: !570, line: 85)
!628 = !DISubprogram(name: "strspn", scope: !573, file: !573, line: 276, type: !619, flags: DIFlagPrototyped, spFlags: 0)
!629 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !110, entity: !630, file: !570, line: 86)
!630 = !DISubprogram(name: "strstr", linkageName: "_Z6strstrUa9enable_ifIXLb1EEEPcPKc", scope: !610, file: !610, line: 105, type: !623, flags: DIFlagPrototyped, spFlags: 0)
!631 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !110, entity: !632, file: !570, line: 88)
!632 = !DISubprogram(name: "strtok", scope: !573, file: !573, line: 335, type: !582, flags: DIFlagPrototyped, spFlags: 0)
!633 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !110, entity: !634, file: !570, line: 90)
!634 = !DISubprogram(name: "memset", scope: !573, file: !573, line: 60, type: !611, flags: DIFlagPrototyped, spFlags: 0)
!635 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !110, entity: !636, file: !570, line: 91)
!636 = !DISubprogram(name: "strerror", scope: !573, file: !573, line: 396, type: !637, flags: DIFlagPrototyped, spFlags: 0)
!637 = !DISubroutineType(types: !638)
!638 = !{!140, !130}
!639 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !110, entity: !640, file: !570, line: 92)
!640 = !DISubprogram(name: "strlen", scope: !573, file: !573, line: 384, type: !641, flags: DIFlagPrototyped, spFlags: 0)
!641 = !DISubroutineType(types: !642)
!642 = !{!123, !151}
!643 = !DIImportedEntity(tag: DW_TAG_imported_module, scope: !0, entity: !11, file: !5, line: 4)
!644 = !{i32 7, !"Dwarf Version", i32 4}
!645 = !{i32 2, !"Debug Info Version", i32 3}
!646 = !{i32 1, !"wchar_size", i32 4}
!647 = !{!"clang version 11.0.0 (https://github.com/llvm/llvm-project.git cbd31f0e2df81b3f2807851551dfb5eda9e78017)"}
!648 = distinct !DISubprogram(name: "foo", linkageName: "_Z3foov", scope: !5, file: !5, line: 23, type: !649, scopeLine: 23, flags: DIFlagPrototyped, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !2)
!649 = !DISubroutineType(types: !3)
!650 = !DILocation(line: 23, column: 12, scope: !648)
!651 = !DILocation(line: 23, column: 6, scope: !648)
!652 = !DILocalVariable(name: "__coro_gro", scope: !648, file: !5, line: 23, type: !4)
!653 = !DILocalVariable(name: "__promise", scope: !648, file: !5, line: 23, type: !654)
!654 = !DIDerivedType(tag: DW_TAG_typedef, name: "promise_type", scope: !655, file: !9, line: 79, baseType: !64)
!655 = distinct !DICompositeType(tag: DW_TAG_structure_type, name: "__coroutine_traits_sfinae<coro, void>", scope: !10, file: !9, line: 76, size: 8, flags: DIFlagTypePassByValue, elements: !2, templateParams: !656, identifier: "_ZTSNSt12experimental13coroutines_v125__coroutine_traits_sfinaeI4corovEE")
!656 = !{!657, !658}
!657 = !DITemplateTypeParameter(name: "_Tp", type: !4)
!658 = !DITemplateTypeParameter(type: null)
!659 = !DILocalVariable(name: "i", scope: !660, file: !5, line: 24, type: !130)
!660 = distinct !DILexicalBlock(scope: !648, file: !5, line: 23, column: 12)
!661 = !DILocation(line: 24, column: 7, scope: !660)
!662 = !DILocation(line: 25, column: 3, scope: !660)
!663 = !DILocation(line: 26, column: 18, scope: !660)
!664 = !DILocation(line: 26, column: 3, scope: !660)
!665 = !DILocation(line: 31, column: 12, scope: !660)
!666 = !DILocation(line: 31, column: 3, scope: !660)
!667 = !DILocalVariable(name: "j", scope: !660, file: !5, line: 32, type: !130)
!668 = !DILocation(line: 32, column: 7, scope: !660)
!669 = !DILocation(line: 33, column: 3, scope: !660)
!670 = !DILocation(line: 34, column: 3, scope: !660)
!671 = !DILocation(line: 35, column: 22, scope: !660)
!672 = !DILocation(line: 35, column: 25, scope: !660)
!673 = !DILocation(line: 35, column: 3, scope: !660)
!674 = !DILocation(line: 42, column: 12, scope: !660)
!675 = !DILocation(line: 42, column: 3, scope: !660)
!676 = !DILocation(line: 43, column: 3, scope: !660)
!677 = !DILocation(line: 44, column: 3, scope: !660)
!678 = !DILocation(line: 45, column: 22, scope: !660)
!679 = !DILocation(line: 45, column: 25, scope: !660)
!680 = !DILocation(line: 45, column: 3, scope: !660)
!681 = distinct !DISubprogram(name: "get_return_object", linkageName: "_ZN4coro12promise_type17get_return_objectEv", scope: !64, file: !5, line: 8, type: !67, scopeLine: 8, flags: DIFlagPrototyped, spFlags: DISPFlagDefinition, unit: !0, declaration: !66, retainedNodes: !2)
!682 = !DILocalVariable(name: "this", arg: 1, scope: !681, type: !683, flags: DIFlagArtificial | DIFlagObjectPointer)
!683 = !DIDerivedType(tag: DW_TAG_pointer_type, baseType: !64, size: 64)
!684 = !DILocation(line: 0, scope: !681)
!685 = !DILocalVariable(name: "handle", scope: !681, file: !5, line: 9, type: !8)
!686 = !DILocation(line: 9, column: 12, scope: !681)
!687 = !DILocation(line: 9, column: 21, scope: !681)
!688 = !DILocation(line: 10, column: 19, scope: !681)
!689 = !DILocation(line: 10, column: 14, scope: !681)
!690 = !DILocation(line: 10, column: 7, scope: !681)
!691 = distinct !DISubprogram(name: "initial_suspend", linkageName: "_ZN4coro12promise_type15initial_suspendEv", scope: !64, file: !5, line: 12, type: !71, scopeLine: 12, flags: DIFlagPrototyped, spFlags: DISPFlagDefinition, unit: !0, declaration: !70, retainedNodes: !2)
!692 = !DILocalVariable(name: "this", arg: 1, scope: !691, type: !683, flags: DIFlagArtificial | DIFlagObjectPointer)
!693 = !DILocation(line: 0, scope: !691)
!694 = !DILocation(line: 12, column: 39, scope: !691)
!695 = distinct !DISubprogram(name: "await_ready", linkageName: "_ZNKSt12experimental13coroutines_v113suspend_never11await_readyEv", scope: !73, file: !9, line: 302, type: !76, scopeLine: 302, flags: DIFlagPrototyped, spFlags: DISPFlagDefinition, unit: !0, declaration: !75, retainedNodes: !2)
!696 = !DILocalVariable(name: "this", arg: 1, scope: !695, type: !697, flags: DIFlagArtificial | DIFlagObjectPointer)
!697 = !DIDerivedType(tag: DW_TAG_pointer_type, baseType: !79, size: 64)
!698 = !DILocation(line: 0, scope: !695)
!699 = !DILocation(line: 302, column: 40, scope: !695)
!700 = distinct !DISubprogram(name: "await_suspend", linkageName: "_ZNKSt12experimental13coroutines_v113suspend_never13await_suspendENS0_16coroutine_handleIvEE", scope: !73, file: !9, line: 304, type: !81, scopeLine: 304, flags: DIFlagPrototyped, spFlags: DISPFlagDefinition, unit: !0, declaration: !80, retainedNodes: !2)
!701 = !DILocalVariable(name: "this", arg: 1, scope: !700, type: !697, flags: DIFlagArtificial | DIFlagObjectPointer)
!702 = !DILocation(line: 0, scope: !700)
!703 = !DILocalVariable(arg: 2, scope: !700, file: !9, line: 304, type: !15)
!704 = !DILocation(line: 304, column: 40, scope: !700)
!705 = !DILocation(line: 304, column: 59, scope: !700)
!706 = distinct !DISubprogram(name: "from_address", linkageName: "_ZNSt12experimental13coroutines_v116coroutine_handleIN4coro12promise_typeEE12from_addressEPv", scope: !8, file: !9, line: 220, type: !94, scopeLine: 220, flags: DIFlagPrototyped, spFlags: DISPFlagDefinition, unit: !0, declaration: !93, retainedNodes: !2)
!707 = !DILocalVariable(name: "__addr", arg: 1, scope: !706, file: !9, line: 220, type: !18)
!708 = !DILocation(line: 220, column: 48, scope: !706)
!709 = !DILocalVariable(name: "__tmp", scope: !706, file: !9, line: 221, type: !8)
!710 = !DILocation(line: 221, column: 26, scope: !706)
!711 = !DILocation(line: 222, column: 27, scope: !706)
!712 = !DILocation(line: 222, column: 9, scope: !706)
!713 = !DILocation(line: 222, column: 15, scope: !706)
!714 = !DILocation(line: 222, column: 25, scope: !706)
!715 = !DILocation(line: 223, column: 9, scope: !706)
!716 = distinct !DISubprogram(name: "await_resume", linkageName: "_ZNKSt12experimental13coroutines_v113suspend_never12await_resumeEv", scope: !73, file: !9, line: 306, type: !84, scopeLine: 306, flags: DIFlagPrototyped, spFlags: DISPFlagDefinition, unit: !0, declaration: !83, retainedNodes: !2)
!717 = !DILocalVariable(name: "this", arg: 1, scope: !716, type: !697, flags: DIFlagArtificial | DIFlagObjectPointer)
!718 = !DILocation(line: 0, scope: !716)
!719 = !DILocation(line: 306, column: 40, scope: !716)
!720 = distinct !DISubprogram(name: "await_ready", linkageName: "_ZNKSt12experimental13coroutines_v114suspend_always11await_readyEv", scope: !721, file: !9, line: 311, type: !724, scopeLine: 311, flags: DIFlagPrototyped, spFlags: DISPFlagDefinition, unit: !0, declaration: !723, retainedNodes: !2)
!721 = distinct !DICompositeType(tag: DW_TAG_structure_type, name: "suspend_always", scope: !10, file: !9, line: 309, size: 8, flags: DIFlagTypePassByValue, elements: !722, identifier: "_ZTSNSt12experimental13coroutines_v114suspend_alwaysE")
!722 = !{!723, !728, !731}
!723 = !DISubprogram(name: "await_ready", linkageName: "_ZNKSt12experimental13coroutines_v114suspend_always11await_readyEv", scope: !721, file: !9, line: 311, type: !724, scopeLine: 311, flags: DIFlagPrototyped, spFlags: 0)
!724 = !DISubroutineType(types: !725)
!725 = !{!41, !726}
!726 = !DIDerivedType(tag: DW_TAG_pointer_type, baseType: !727, size: 64, flags: DIFlagArtificial | DIFlagObjectPointer)
!727 = !DIDerivedType(tag: DW_TAG_const_type, baseType: !721)
!728 = !DISubprogram(name: "await_suspend", linkageName: "_ZNKSt12experimental13coroutines_v114suspend_always13await_suspendENS0_16coroutine_handleIvEE", scope: !721, file: !9, line: 313, type: !729, scopeLine: 313, flags: DIFlagPrototyped, spFlags: 0)
!729 = !DISubroutineType(types: !730)
!730 = !{null, !726, !15}
!731 = !DISubprogram(name: "await_resume", linkageName: "_ZNKSt12experimental13coroutines_v114suspend_always12await_resumeEv", scope: !721, file: !9, line: 315, type: !732, scopeLine: 315, flags: DIFlagPrototyped, spFlags: 0)
!732 = !DISubroutineType(types: !733)
!733 = !{null, !726}
!734 = !DILocalVariable(name: "this", arg: 1, scope: !720, type: !735, flags: DIFlagArtificial | DIFlagObjectPointer)
!735 = !DIDerivedType(tag: DW_TAG_pointer_type, baseType: !727, size: 64)
!736 = !DILocation(line: 0, scope: !720)
!737 = !DILocation(line: 311, column: 40, scope: !720)
!738 = distinct !DISubprogram(name: "await_suspend", linkageName: "_ZNKSt12experimental13coroutines_v114suspend_always13await_suspendENS0_16coroutine_handleIvEE", scope: !721, file: !9, line: 313, type: !729, scopeLine: 313, flags: DIFlagPrototyped, spFlags: DISPFlagDefinition, unit: !0, declaration: !728, retainedNodes: !2)
!739 = !DILocalVariable(name: "this", arg: 1, scope: !738, type: !735, flags: DIFlagArtificial | DIFlagObjectPointer)
!740 = !DILocation(line: 0, scope: !738)
!741 = !DILocalVariable(arg: 2, scope: !738, file: !9, line: 313, type: !15)
!742 = !DILocation(line: 313, column: 40, scope: !738)
!743 = !DILocation(line: 313, column: 59, scope: !738)
!744 = distinct !DISubprogram(name: "await_resume", linkageName: "_ZNKSt12experimental13coroutines_v114suspend_always12await_resumeEv", scope: !721, file: !9, line: 315, type: !732, scopeLine: 315, flags: DIFlagPrototyped, spFlags: DISPFlagDefinition, unit: !0, declaration: !731, retainedNodes: !2)
!745 = !DILocalVariable(name: "this", arg: 1, scope: !744, type: !735, flags: DIFlagArtificial | DIFlagObjectPointer)
!746 = !DILocation(line: 0, scope: !744)
!747 = !DILocation(line: 315, column: 40, scope: !744)
!748 = distinct !DISubprogram(name: "return_void", linkageName: "_ZN4coro12promise_type11return_voidEv", scope: !64, file: !5, line: 14, type: !88, scopeLine: 14, flags: DIFlagPrototyped, spFlags: DISPFlagDefinition, unit: !0, declaration: !87, retainedNodes: !2)
!749 = !DILocalVariable(name: "this", arg: 1, scope: !748, type: !683, flags: DIFlagArtificial | DIFlagObjectPointer)
!750 = !DILocation(line: 0, scope: !748)
!751 = !DILocation(line: 14, column: 25, scope: !748)
!752 = distinct !DISubprogram(name: "final_suspend", linkageName: "_ZN4coro12promise_type13final_suspendEv", scope: !64, file: !5, line: 13, type: !71, scopeLine: 13, flags: DIFlagPrototyped, spFlags: DISPFlagDefinition, unit: !0, declaration: !86, retainedNodes: !2)
!753 = !DILocalVariable(name: "this", arg: 1, scope: !752, type: !683, flags: DIFlagArtificial | DIFlagObjectPointer)
!754 = !DILocation(line: 0, scope: !752)
!755 = !DILocation(line: 13, column: 37, scope: !752)
!756 = distinct !DISubprogram(name: "main", scope: !5, file: !5, line: 53, type: !280, scopeLine: 53, flags: DIFlagPrototyped, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !2)
!757 = !DILocalVariable(name: "c", scope: !756, file: !5, line: 54, type: !4)
!758 = !DILocation(line: 54, column: 8, scope: !756)
!759 = !DILocation(line: 54, column: 12, scope: !756)
!760 = !DILocation(line: 55, column: 5, scope: !756)
!761 = !DILocation(line: 55, column: 3, scope: !756)
!762 = !DILocation(line: 55, column: 12, scope: !756)
!763 = !DILocation(line: 56, column: 5, scope: !756)
!764 = !DILocation(line: 56, column: 3, scope: !756)
!765 = !DILocation(line: 56, column: 12, scope: !756)
!766 = !DILocation(line: 57, column: 1, scope: !756)
!767 = distinct !DISubprogram(name: "resume", linkageName: "_ZNSt12experimental13coroutines_v116coroutine_handleIvE6resumeEv", scope: !15, file: !9, line: 116, type: !20, scopeLine: 116, flags: DIFlagPrototyped, spFlags: DISPFlagDefinition, unit: !0, declaration: !43, retainedNodes: !2)
!768 = !DILocalVariable(name: "this", arg: 1, scope: !767, type: !769, flags: DIFlagArtificial | DIFlagObjectPointer)
!769 = !DIDerivedType(tag: DW_TAG_pointer_type, baseType: !15, size: 64)
!770 = !DILocation(line: 0, scope: !767)
!771 = !DILocation(line: 121, column: 29, scope: !767)
!772 = !DILocation(line: 121, column: 7, scope: !767)
!773 = !DILocation(line: 122, column: 5, scope: !767)
!774 = distinct !DISubprogram(name: "from_promise", linkageName: "_ZNSt12experimental13coroutines_v116coroutine_handleIN4coro12promise_typeEE12from_promiseERS3_", scope: !8, file: !9, line: 250, type: !100, scopeLine: 250, flags: DIFlagPrototyped, spFlags: DISPFlagDefinition, unit: !0, declaration: !99, retainedNodes: !2)
!775 = !DILocalVariable(name: "__promise", arg: 1, scope: !774, file: !9, line: 250, type: !63)
!776 = !DILocation(line: 250, column: 52, scope: !774)
!777 = !DILocalVariable(name: "__tmp", scope: !774, file: !9, line: 252, type: !8)
!778 = !DILocation(line: 252, column: 26, scope: !774)
!779 = !DILocation(line: 254, column: 55, scope: !774)
!780 = !DILocation(line: 254, column: 13, scope: !774)
!781 = !DILocation(line: 253, column: 27, scope: !774)
!782 = !DILocation(line: 253, column: 9, scope: !774)
!783 = !DILocation(line: 253, column: 15, scope: !774)
!784 = !DILocation(line: 253, column: 25, scope: !774)
!785 = !DILocation(line: 256, column: 9, scope: !774)
!786 = distinct !DISubprogram(name: "coro", linkageName: "_ZN4coroC2ENSt12experimental13coroutines_v116coroutine_handleINS_12promise_typeEEE", scope: !4, file: !5, line: 19, type: !105, scopeLine: 20, flags: DIFlagPrototyped, spFlags: DISPFlagDefinition, unit: !0, declaration: !104, retainedNodes: !2)
!787 = !DILocalVariable(name: "this", arg: 1, scope: !786, type: !788, flags: DIFlagArtificial | DIFlagObjectPointer)
!788 = !DIDerivedType(tag: DW_TAG_pointer_type, baseType: !4, size: 64)
!789 = !DILocation(line: 0, scope: !786)
!790 = !DILocalVariable(name: "handle", arg: 2, scope: !786, file: !5, line: 19, type: !8)
!791 = !DILocation(line: 19, column: 39, scope: !786)
!792 = !DILocation(line: 20, column: 9, scope: !786)
!793 = !DILocation(line: 20, column: 25, scope: !786)
!794 = distinct !DISubprogram(name: "coroutine_handle", linkageName: "_ZNSt12experimental13coroutines_v116coroutine_handleIN4coro12promise_typeEEC2Ev", scope: !8, file: !9, line: 196, type: !795, scopeLine: 196, flags: DIFlagArtificial | DIFlagPrototyped, spFlags: DISPFlagDefinition, unit: !0, declaration: !797, retainedNodes: !2)
!795 = !DISubroutineType(types: !796)
!796 = !{null, !59}
!797 = !DISubprogram(name: "coroutine_handle", scope: !8, type: !795, flags: DIFlagPublic | DIFlagArtificial | DIFlagPrototyped, spFlags: 0)
!798 = !DILocalVariable(name: "this", arg: 1, scope: !794, type: !799, flags: DIFlagArtificial | DIFlagObjectPointer)
!799 = !DIDerivedType(tag: DW_TAG_pointer_type, baseType: !8, size: 64)
!800 = !DILocation(line: 0, scope: !794)
!801 = !DILocation(line: 196, column: 28, scope: !794)
!802 = distinct !DISubprogram(name: "addressof<coro::promise_type>", linkageName: "_ZNSt3__19addressofIN4coro12promise_typeEEEPT_RS3_", scope: !110, file: !803, line: 591, type: !804, scopeLine: 592, flags: DIFlagPrototyped, spFlags: DISPFlagDefinition, unit: !0, templateParams: !806, retainedNodes: !2)
!803 = !DIFile(filename: "build/bin/../include/c++/v1/type_traits", directory: "/home/modocache/Source/llvm/git/dev/llvm-project")
!804 = !DISubroutineType(types: !805)
!805 = !{!683, !63}
!806 = !{!807}
!807 = !DITemplateTypeParameter(name: "_Tp", type: !64)
!808 = !DILocalVariable(name: "__x", arg: 1, scope: !802, file: !803, line: 591, type: !63)
!809 = !DILocation(line: 591, column: 16, scope: !802)
!810 = !DILocation(line: 593, column: 32, scope: !802)
!811 = !DILocation(line: 593, column: 5, scope: !802)
!812 = distinct !DISubprogram(name: "coroutine_handle", linkageName: "_ZNSt12experimental13coroutines_v116coroutine_handleIvEC2Ev", scope: !15, file: !9, line: 95, type: !20, scopeLine: 95, flags: DIFlagPrototyped, spFlags: DISPFlagDefinition, unit: !0, declaration: !19, retainedNodes: !2)
!813 = !DILocalVariable(name: "this", arg: 1, scope: !812, type: !769, flags: DIFlagArtificial | DIFlagObjectPointer)
!814 = !DILocation(line: 0, scope: !812)
!815 = !DILocation(line: 95, column: 54, scope: !812)
!816 = !DILocation(line: 95, column: 74, scope: !812)
!817 = distinct !DISubprogram(name: "foo", linkageName: "_Z3foov", scope: !5, file: !5, line: 23, type: !649, scopeLine: 23, flags: DIFlagPrototyped, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !2)
!818 = !DILocation(line: 23, column: 12, scope: !817)
!819 = !DILocation(line: 23, column: 6, scope: !817)
!820 = !DILocalVariable(name: "i", scope: !821, file: !5, line: 24, type: !130)
!821 = distinct !DILexicalBlock(scope: !817, file: !5, line: 23, column: 12)
!822 = !DILocation(line: 24, column: 7, scope: !821)
!823 = !DILocation(line: 25, column: 3, scope: !821)
!824 = !DILocation(line: 26, column: 18, scope: !821)
!825 = !DILocation(line: 26, column: 3, scope: !821)
!826 = !DILocation(line: 31, column: 12, scope: !821)
!827 = !DILocation(line: 31, column: 3, scope: !821)
!828 = !DILocalVariable(name: "j", scope: !821, file: !5, line: 32, type: !130)
!829 = !DILocation(line: 32, column: 7, scope: !821)
!830 = !DILocation(line: 33, column: 3, scope: !821)
!831 = !DILocation(line: 34, column: 3, scope: !821)
!832 = !DILocation(line: 35, column: 22, scope: !821)
!833 = !DILocation(line: 35, column: 25, scope: !821)
!834 = !DILocation(line: 35, column: 3, scope: !821)
!835 = !DILocation(line: 42, column: 12, scope: !821)
!836 = !DILocation(line: 42, column: 3, scope: !821)
!837 = !DILocation(line: 43, column: 3, scope: !821)
!838 = !DILocation(line: 44, column: 3, scope: !821)
!839 = !DILocation(line: 45, column: 22, scope: !821)
!840 = !DILocation(line: 45, column: 25, scope: !821)
!841 = !DILocation(line: 45, column: 3, scope: !821)
!842 = distinct !DISubprogram(name: "foo", linkageName: "_Z3foov", scope: !5, file: !5, line: 23, type: !649, scopeLine: 23, flags: DIFlagPrototyped, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !2)
!843 = !DILocation(line: 23, column: 12, scope: !842)
!844 = !DILocation(line: 23, column: 6, scope: !842)
!845 = !DILocalVariable(name: "i", scope: !846, file: !5, line: 24, type: !130)
!846 = distinct !DILexicalBlock(scope: !842, file: !5, line: 23, column: 12)
!847 = !DILocation(line: 24, column: 7, scope: !846)
!848 = !DILocation(line: 25, column: 3, scope: !846)
!849 = !DILocation(line: 26, column: 18, scope: !846)
!850 = !DILocation(line: 26, column: 3, scope: !846)
!851 = !DILocation(line: 31, column: 12, scope: !846)
!852 = !DILocation(line: 31, column: 3, scope: !846)
!853 = !DILocalVariable(name: "j", scope: !846, file: !5, line: 32, type: !130)
!854 = !DILocation(line: 32, column: 7, scope: !846)
!855 = !DILocation(line: 33, column: 3, scope: !846)
!856 = !DILocation(line: 34, column: 3, scope: !846)
!857 = !DILocation(line: 35, column: 22, scope: !846)
!858 = !DILocation(line: 35, column: 25, scope: !846)
!859 = !DILocation(line: 35, column: 3, scope: !846)
!860 = !DILocation(line: 42, column: 12, scope: !846)
!861 = !DILocation(line: 42, column: 3, scope: !846)
!862 = !DILocation(line: 43, column: 3, scope: !846)
!863 = !DILocation(line: 44, column: 3, scope: !846)
!864 = !DILocation(line: 45, column: 22, scope: !846)
!865 = !DILocation(line: 45, column: 25, scope: !846)
!866 = !DILocation(line: 45, column: 3, scope: !846)
!867 = distinct !DISubprogram(name: "foo", linkageName: "_Z3foov", scope: !5, file: !5, line: 23, type: !649, scopeLine: 23, flags: DIFlagPrototyped, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !2)
!868 = !DILocation(line: 23, column: 12, scope: !867)
!869 = !DILocation(line: 23, column: 6, scope: !867)
!870 = !DILocalVariable(name: "i", scope: !871, file: !5, line: 24, type: !130)
!871 = distinct !DILexicalBlock(scope: !867, file: !5, line: 23, column: 12)
!872 = !DILocation(line: 24, column: 7, scope: !871)
!873 = !DILocation(line: 25, column: 3, scope: !871)
!874 = !DILocation(line: 26, column: 18, scope: !871)
!875 = !DILocation(line: 26, column: 3, scope: !871)
!876 = !DILocation(line: 31, column: 12, scope: !871)
!877 = !DILocation(line: 31, column: 3, scope: !871)
!878 = !DILocalVariable(name: "j", scope: !871, file: !5, line: 32, type: !130)
!879 = !DILocation(line: 32, column: 7, scope: !871)
!880 = !DILocation(line: 33, column: 3, scope: !871)
!881 = !DILocation(line: 34, column: 3, scope: !871)
!882 = !DILocation(line: 35, column: 22, scope: !871)
!883 = !DILocation(line: 35, column: 25, scope: !871)
!884 = !DILocation(line: 35, column: 3, scope: !871)
!885 = !DILocation(line: 42, column: 12, scope: !871)
!886 = !DILocation(line: 42, column: 3, scope: !871)
!887 = !DILocation(line: 43, column: 3, scope: !871)
!888 = !DILocation(line: 44, column: 3, scope: !871)
!889 = !DILocation(line: 45, column: 22, scope: !871)
!890 = !DILocation(line: 45, column: 25, scope: !871)
!891 = !DILocation(line: 45, column: 3, scope: !871)
#include <cstdio>
#include <experimental/coroutine>
using namespace std::experimental;
struct coro {
struct promise_type {
coro get_return_object() {
auto handle = coroutine_handle<promise_type>::from_promise(*this);
return coro(handle);
}
suspend_never initial_suspend() { return {}; }
suspend_never final_suspend() { return {}; }
void return_void() {}
void unhandled_exception() {}
};
coroutine_handle<promise_type> handle;
coro(coroutine_handle<promise_type> handle)
: handle(handle) {}
};
coro foo() {
int i = 0;
++i;
printf("%d\n", i); // 1
// Breakpoint 1:
// (lldb) frame variable i
// (int) i = 1
co_await suspend_always();
int j = 0;
++i;
++j;
printf("%d, %d\n", i, j); // 2, 1
// Breakpoint 2:
// (lldb) frame variable i
// (int) i = <variable not available>
// (lldb) frame variable j
// (int) j = 1
co_await suspend_always();
++i;
++j;
printf("%d, %d\n", j, i); // 3, 2
// Breakpoint 3:
// (lldb) frame variable i
// (int) i = <variable not available>
// (lldb) frame variable j
// (int) j = 2
}
int main() {
auto c = foo();
c.handle.resume();
c.handle.resume();
}
/home/modocache/Source/tmp/coro02242020/repro: file format ELF64-x86-64
.debug_info contents:
0x00000000: Compile Unit: length = 0x00001858 version = 0x0004 abbr_offset = 0x0000 addr_size = 0x08 (next unit at 0x0000185c)
0x0000000b: DW_TAG_compile_unit
DW_AT_producer ("clang version 11.0.0 (https://github.com/llvm/llvm-project.git cbd31f0e2df81b3f2807851551dfb5eda9e78017)")
DW_AT_language (DW_LANG_C_plus_plus_14)
DW_AT_name ("/home/modocache/Source/tmp/coro02242020/repro.cpp")
DW_AT_stmt_list (0x00000000)
DW_AT_comp_dir ("/home/modocache/Source/llvm/git/dev/llvm-project")
DW_AT_low_pc (0x0000000000000000)
DW_AT_ranges (0x00000000
[0x0000000000201b10, 0x000000000020200a)
[0x0000000000202010, 0x0000000000202041)
[0x0000000000202060, 0x0000000000202ae0)
[0x0000000000202ae0, 0x0000000000202b18)
[0x0000000000202b20, 0x0000000000202b2a)
[0x0000000000202b30, 0x0000000000202b41)
[0x0000000000202b50, 0x0000000000202b5e)
[0x0000000000202b60, 0x0000000000202b87)
[0x0000000000202b90, 0x0000000000202b9a)
[0x0000000000202ba0, 0x0000000000202bb1)
[0x0000000000202bc0, 0x0000000000202bce)
[0x0000000000202bd0, 0x0000000000202bda)
[0x0000000000202be0, 0x0000000000202bea)
[0x0000000000202bf0, 0x0000000000202bfa)
[0x0000000000202c00, 0x0000000000202c1e)
[0x0000000000202c20, 0x0000000000202c52)
[0x0000000000202c60, 0x0000000000202c79)
[0x0000000000202c80, 0x0000000000202c9e)
[0x0000000000202ca0, 0x0000000000202cae)
[0x0000000000202cb0, 0x0000000000202cc5))
0x0000002a: DW_TAG_structure_type
DW_AT_calling_convention (DW_CC_pass_by_value)
DW_AT_name ("coro")
DW_AT_byte_size (0x08)
DW_AT_decl_file ("/home/modocache/Source/tmp/coro02242020/repro.cpp")
DW_AT_decl_line (6)
0x00000033: DW_TAG_member
DW_AT_name ("handle")
DW_AT_type (0x000000cc "coroutine_handle<coro::promise_type>")
DW_AT_decl_file ("/home/modocache/Source/tmp/coro02242020/repro.cpp")
DW_AT_decl_line (18)
DW_AT_data_member_location (0x00)
0x0000003f: DW_TAG_structure_type
DW_AT_calling_convention (DW_CC_pass_by_value)
DW_AT_name ("promise_type")
DW_AT_byte_size (0x01)
DW_AT_decl_file ("/home/modocache/Source/tmp/coro02242020/repro.cpp")
DW_AT_decl_line (7)
0x00000048: DW_TAG_subprogram
DW_AT_linkage_name ("_ZN4coro12promise_type17get_return_objectEv")
DW_AT_name ("get_return_object")
DW_AT_decl_file ("/home/modocache/Source/tmp/coro02242020/repro.cpp")
DW_AT_decl_line (8)
DW_AT_type (0x0000002a "coro")
DW_AT_declaration (true)
DW_AT_external (true)
0x00000057: DW_TAG_formal_parameter
DW_AT_type (0x0000079a "promise_type*")
DW_AT_artificial (true)
0x0000005c: NULL
0x0000005d: DW_TAG_subprogram
DW_AT_linkage_name ("_ZN4coro12promise_type15initial_suspendEv")
DW_AT_name ("initial_suspend")
DW_AT_decl_file ("/home/modocache/Source/tmp/coro02242020/repro.cpp")
DW_AT_decl_line (12)
DW_AT_type (0x00000275 "suspend_never")
DW_AT_declaration (true)
DW_AT_external (true)
0x0000006c: DW_TAG_formal_parameter
DW_AT_type (0x0000079a "promise_type*")
DW_AT_artificial (true)
0x00000071: NULL
0x00000072: DW_TAG_subprogram
DW_AT_linkage_name ("_ZN4coro12promise_type13final_suspendEv")
DW_AT_name ("final_suspend")
DW_AT_decl_file ("/home/modocache/Source/tmp/coro02242020/repro.cpp")
DW_AT_decl_line (13)
DW_AT_type (0x00000275 "suspend_never")
DW_AT_declaration (true)
DW_AT_external (true)
0x00000081: DW_TAG_formal_parameter
DW_AT_type (0x0000079a "promise_type*")
DW_AT_artificial (true)
0x00000086: NULL
0x00000087: DW_TAG_subprogram
DW_AT_linkage_name ("_ZN4coro12promise_type11return_voidEv")
DW_AT_name ("return_void")
DW_AT_decl_file ("/home/modocache/Source/tmp/coro02242020/repro.cpp")
DW_AT_decl_line (14)
DW_AT_declaration (true)
DW_AT_external (true)
0x00000092: DW_TAG_formal_parameter
DW_AT_type (0x0000079a "promise_type*")
DW_AT_artificial (true)
0x00000097: NULL
0x00000098: DW_TAG_subprogram
DW_AT_linkage_name ("_ZN4coro12promise_type19unhandled_exceptionEv")
DW_AT_name ("unhandled_exception")
DW_AT_decl_file ("/home/modocache/Source/tmp/coro02242020/repro.cpp")
DW_AT_decl_line (15)
DW_AT_declaration (true)
DW_AT_external (true)
0x000000a3: DW_TAG_formal_parameter
DW_AT_type (0x0000079a "promise_type*")
DW_AT_artificial (true)
0x000000a8: NULL
0x000000a9: NULL
0x000000aa: DW_TAG_subprogram
DW_AT_name ("coro")
DW_AT_decl_file ("/home/modocache/Source/tmp/coro02242020/repro.cpp")
DW_AT_decl_line (19)
DW_AT_declaration (true)
DW_AT_external (true)
0x000000b1: DW_TAG_formal_parameter
DW_AT_type (0x000007b3 "coro*")
DW_AT_artificial (true)
0x000000b6: DW_TAG_formal_parameter
DW_AT_type (0x000000cc "coroutine_handle<coro::promise_type>")
0x000000bb: NULL
0x000000bc: NULL
0x000000bd: DW_TAG_namespace
DW_AT_name ("std")
0x000000c2: DW_TAG_namespace
DW_AT_name ("experimental")
0x000000c7: DW_TAG_namespace
DW_AT_name ("coroutines_v1")
DW_AT_export_symbols (true)
0x000000cc: DW_TAG_class_type
DW_AT_calling_convention (DW_CC_pass_by_value)
DW_AT_name ("coroutine_handle<coro::promise_type>")
DW_AT_byte_size (0x08)
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/experimental/coroutine")
DW_AT_decl_line (196)
0x000000d5: DW_TAG_inheritance
DW_AT_type (0x00000165 "coroutine_handle<void>")
DW_AT_data_member_location (0x00)
DW_AT_accessibility (DW_ACCESS_public)
0x000000dc: DW_TAG_subprogram
DW_AT_linkage_name ("_ZNSt12experimental13coroutines_v116coroutine_handleIN4coro12promise_typeEEaSEDn")
DW_AT_name ("operator=")
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/experimental/coroutine")
DW_AT_decl_line (207)
DW_AT_type (0x0000078b "coroutine_handle<coro::promise_type>&")
DW_AT_declaration (true)
DW_AT_external (true)
DW_AT_accessibility (DW_ACCESS_public)
0x000000ec: DW_TAG_formal_parameter
DW_AT_type (0x00000790 "coroutine_handle<coro::promise_type>*")
DW_AT_artificial (true)
0x000000f1: DW_TAG_formal_parameter
DW_AT_type (0x0000032a "nullptr_t")
0x000000f6: NULL
0x000000f7: DW_TAG_subprogram
DW_AT_linkage_name ("_ZNKSt12experimental13coroutines_v116coroutine_handleIN4coro12promise_typeEE7promiseEv")
DW_AT_name ("promise")
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/experimental/coroutine")
DW_AT_decl_line (213)
DW_AT_type (0x00000795 "promise_type&")
DW_AT_declaration (true)
DW_AT_external (true)
DW_AT_accessibility (DW_ACCESS_public)
0x00000107: DW_TAG_formal_parameter
DW_AT_type (0x000007a9 "const coroutine_handle<coro::promise_type>*")
DW_AT_artificial (true)
0x0000010c: NULL
0x0000010d: DW_TAG_subprogram
DW_AT_linkage_name ("_ZNSt12experimental13coroutines_v116coroutine_handleIN4coro12promise_typeEE12from_addressEPv")
DW_AT_name ("from_address")
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/experimental/coroutine")
DW_AT_decl_line (220)
DW_AT_type (0x000000cc "coroutine_handle<coro::promise_type>")
DW_AT_declaration (true)
DW_AT_external (true)
DW_AT_accessibility (DW_ACCESS_public)
0x0000011d: DW_TAG_formal_parameter
DW_AT_type (0x0000076a "*")
0x00000122: NULL
0x00000123: DW_TAG_subprogram
DW_AT_linkage_name ("_ZNSt12experimental13coroutines_v116coroutine_handleIN4coro12promise_typeEE12from_addressEDn")
DW_AT_name ("from_address")
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/experimental/coroutine")
DW_AT_decl_line (231)
DW_AT_type (0x000000cc "coroutine_handle<coro::promise_type>")
DW_AT_declaration (true)
DW_AT_external (true)
DW_AT_accessibility (DW_ACCESS_public)
0x00000133: DW_TAG_formal_parameter
DW_AT_type (0x0000032a "nullptr_t")
0x00000138: NULL
0x00000139: DW_TAG_subprogram
DW_AT_linkage_name ("_ZNSt12experimental13coroutines_v116coroutine_handleIN4coro12promise_typeEE12from_promiseERS3_")
DW_AT_name ("from_promise")
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/experimental/coroutine")
DW_AT_decl_line (250)
DW_AT_type (0x000000cc "coroutine_handle<coro::promise_type>")
DW_AT_declaration (true)
DW_AT_external (true)
DW_AT_accessibility (DW_ACCESS_public)
0x00000149: DW_TAG_formal_parameter
DW_AT_type (0x00000795 "promise_type&")
0x0000014e: NULL
0x0000014f: DW_TAG_template_type_parameter
DW_AT_type (0x0000003f "promise_type")
DW_AT_name ("_Promise")
0x00000158: DW_TAG_subprogram
DW_AT_name ("coroutine_handle")
DW_AT_declaration (true)
DW_AT_artificial (true)
DW_AT_external (true)
DW_AT_accessibility (DW_ACCESS_public)
0x0000015e: DW_TAG_formal_parameter
DW_AT_type (0x00000790 "coroutine_handle<coro::promise_type>*")
DW_AT_artificial (true)
0x00000163: NULL
0x00000164: NULL
0x00000165: DW_TAG_class_type
DW_AT_calling_convention (DW_CC_pass_by_value)
DW_AT_name ("coroutine_handle<void>")
DW_AT_byte_size (0x08)
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/experimental/coroutine")
DW_AT_decl_line (92)
0x0000016e: DW_TAG_member
DW_AT_name ("__handle_")
DW_AT_type (0x0000076a "*")
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/experimental/coroutine")
DW_AT_decl_line (166)
DW_AT_data_member_location (0x00)
0x0000017a: DW_TAG_subprogram
DW_AT_name ("coroutine_handle")
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/experimental/coroutine")
DW_AT_decl_line (95)
DW_AT_declaration (true)
DW_AT_external (true)
DW_AT_accessibility (DW_ACCESS_public)
0x00000182: DW_TAG_formal_parameter
DW_AT_type (0x0000076b "coroutine_handle<void>*")
DW_AT_artificial (true)
0x00000187: NULL
0x00000188: DW_TAG_subprogram
DW_AT_name ("coroutine_handle")
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/experimental/coroutine")
DW_AT_decl_line (98)
DW_AT_declaration (true)
DW_AT_external (true)
DW_AT_accessibility (DW_ACCESS_public)
0x00000190: DW_TAG_formal_parameter
DW_AT_type (0x0000076b "coroutine_handle<void>*")
DW_AT_artificial (true)
0x00000195: DW_TAG_formal_parameter
DW_AT_type (0x0000032a "nullptr_t")
0x0000019a: NULL
0x0000019b: DW_TAG_subprogram
DW_AT_linkage_name ("_ZNSt12experimental13coroutines_v116coroutine_handleIvEaSEDn")
DW_AT_name ("operator=")
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/experimental/coroutine")
DW_AT_decl_line (101)
DW_AT_type (0x00000775 "coroutine_handle<void>&")
DW_AT_declaration (true)
DW_AT_external (true)
DW_AT_accessibility (DW_ACCESS_public)
0x000001ab: DW_TAG_formal_parameter
DW_AT_type (0x0000076b "coroutine_handle<void>*")
DW_AT_artificial (true)
0x000001b0: DW_TAG_formal_parameter
DW_AT_type (0x0000032a "nullptr_t")
0x000001b5: NULL
0x000001b6: DW_TAG_subprogram
DW_AT_linkage_name ("_ZNKSt12experimental13coroutines_v116coroutine_handleIvE7addressEv")
DW_AT_name ("address")
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/experimental/coroutine")
DW_AT_decl_line (107)
DW_AT_type (0x0000076a "*")
DW_AT_declaration (true)
DW_AT_external (true)
DW_AT_accessibility (DW_ACCESS_public)
0x000001c6: DW_TAG_formal_parameter
DW_AT_type (0x0000077a "const coroutine_handle<void>*")
DW_AT_artificial (true)
0x000001cb: NULL
0x000001cc: DW_TAG_subprogram
DW_AT_linkage_name ("_ZNKSt12experimental13coroutines_v116coroutine_handleIvEcvbEv")
DW_AT_name ("operator bool")
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/experimental/coroutine")
DW_AT_decl_line (110)
DW_AT_type (0x00000784 "bool")
DW_AT_declaration (true)
DW_AT_external (true)
DW_AT_accessibility (DW_ACCESS_public)
DW_AT_explicit (true)
0x000001dc: DW_TAG_formal_parameter
DW_AT_type (0x0000077a "const coroutine_handle<void>*")
DW_AT_artificial (true)
0x000001e1: NULL
0x000001e2: DW_TAG_subprogram
DW_AT_linkage_name ("_ZNSt12experimental13coroutines_v116coroutine_handleIvEclEv")
DW_AT_name ("operator()")
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/experimental/coroutine")
DW_AT_decl_line (113)
DW_AT_declaration (true)
DW_AT_external (true)
DW_AT_accessibility (DW_ACCESS_public)
0x000001ee: DW_TAG_formal_parameter
DW_AT_type (0x0000076b "coroutine_handle<void>*")
DW_AT_artificial (true)
0x000001f3: NULL
0x000001f4: DW_TAG_subprogram
DW_AT_linkage_name ("_ZNSt12experimental13coroutines_v116coroutine_handleIvE6resumeEv")
DW_AT_name ("resume")
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/experimental/coroutine")
DW_AT_decl_line (116)
DW_AT_declaration (true)
DW_AT_external (true)
DW_AT_accessibility (DW_ACCESS_public)
0x00000200: DW_TAG_formal_parameter
DW_AT_type (0x0000076b "coroutine_handle<void>*")
DW_AT_artificial (true)
0x00000205: NULL
0x00000206: DW_TAG_subprogram
DW_AT_linkage_name ("_ZNSt12experimental13coroutines_v116coroutine_handleIvE7destroyEv")
DW_AT_name ("destroy")
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/experimental/coroutine")
DW_AT_decl_line (125)
DW_AT_declaration (true)
DW_AT_external (true)
DW_AT_accessibility (DW_ACCESS_public)
0x00000212: DW_TAG_formal_parameter
DW_AT_type (0x0000076b "coroutine_handle<void>*")
DW_AT_artificial (true)
0x00000217: NULL
0x00000218: DW_TAG_subprogram
DW_AT_linkage_name ("_ZNKSt12experimental13coroutines_v116coroutine_handleIvE4doneEv")
DW_AT_name ("done")
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/experimental/coroutine")
DW_AT_decl_line (132)
DW_AT_type (0x00000784 "bool")
DW_AT_declaration (true)
DW_AT_external (true)
DW_AT_accessibility (DW_ACCESS_public)
0x00000228: DW_TAG_formal_parameter
DW_AT_type (0x0000077a "const coroutine_handle<void>*")
DW_AT_artificial (true)
0x0000022d: NULL
0x0000022e: DW_TAG_subprogram
DW_AT_linkage_name ("_ZNSt12experimental13coroutines_v116coroutine_handleIvE12from_addressEPv")
DW_AT_name ("from_address")
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/experimental/coroutine")
DW_AT_decl_line (140)
DW_AT_type (0x00000165 "coroutine_handle<void>")
DW_AT_declaration (true)
DW_AT_external (true)
DW_AT_accessibility (DW_ACCESS_public)
0x0000023e: DW_TAG_formal_parameter
DW_AT_type (0x0000076a "*")
0x00000243: NULL
0x00000244: DW_TAG_subprogram
DW_AT_linkage_name ("_ZNSt12experimental13coroutines_v116coroutine_handleIvE12from_addressEDn")
DW_AT_name ("from_address")
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/experimental/coroutine")
DW_AT_decl_line (148)
DW_AT_type (0x00000165 "coroutine_handle<void>")
DW_AT_declaration (true)
DW_AT_external (true)
DW_AT_accessibility (DW_ACCESS_public)
0x00000254: DW_TAG_formal_parameter
DW_AT_type (0x0000032a "nullptr_t")
0x00000259: NULL
0x0000025a: DW_TAG_subprogram
DW_AT_linkage_name ("_ZNKSt12experimental13coroutines_v116coroutine_handleIvE14__is_suspendedEv")
DW_AT_name ("__is_suspended")
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/experimental/coroutine")
DW_AT_decl_line (160)
DW_AT_type (0x00000784 "bool")
DW_AT_declaration (true)
DW_AT_external (true)
0x00000269: DW_TAG_formal_parameter
DW_AT_type (0x0000077a "const coroutine_handle<void>*")
DW_AT_artificial (true)
0x0000026e: NULL
0x0000026f: DW_TAG_template_type_parameter
DW_AT_name ("_Promise")
0x00000274: NULL
0x00000275: DW_TAG_structure_type
DW_AT_calling_convention (DW_CC_pass_by_value)
DW_AT_name ("suspend_never")
DW_AT_byte_size (0x01)
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/experimental/coroutine")
DW_AT_decl_line (300)
0x0000027f: DW_TAG_subprogram
DW_AT_linkage_name ("_ZNKSt12experimental13coroutines_v113suspend_never11await_readyEv")
DW_AT_name ("await_ready")
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/experimental/coroutine")
DW_AT_decl_line (302)
DW_AT_type (0x00000784 "bool")
DW_AT_declaration (true)
DW_AT_external (true)
0x0000028f: DW_TAG_formal_parameter
DW_AT_type (0x0000079f "const suspend_never*")
DW_AT_artificial (true)
0x00000294: NULL
0x00000295: DW_TAG_subprogram
DW_AT_linkage_name ("_ZNKSt12experimental13coroutines_v113suspend_never13await_suspendENS0_16coroutine_handleIvEE")
DW_AT_name ("await_suspend")
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/experimental/coroutine")
DW_AT_decl_line (304)
DW_AT_declaration (true)
DW_AT_external (true)
0x000002a1: DW_TAG_formal_parameter
DW_AT_type (0x0000079f "const suspend_never*")
DW_AT_artificial (true)
0x000002a6: DW_TAG_formal_parameter
DW_AT_type (0x00000165 "coroutine_handle<void>")
0x000002ab: NULL
0x000002ac: DW_TAG_subprogram
DW_AT_linkage_name ("_ZNKSt12experimental13coroutines_v113suspend_never12await_resumeEv")
DW_AT_name ("await_resume")
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/experimental/coroutine")
DW_AT_decl_line (306)
DW_AT_declaration (true)
DW_AT_external (true)
0x000002b8: DW_TAG_formal_parameter
DW_AT_type (0x0000079f "const suspend_never*")
DW_AT_artificial (true)
0x000002bd: NULL
0x000002be: NULL
0x000002bf: DW_TAG_structure_type
DW_AT_calling_convention (DW_CC_pass_by_value)
DW_AT_name ("suspend_always")
DW_AT_byte_size (0x01)
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/experimental/coroutine")
DW_AT_decl_line (309)
0x000002c9: DW_TAG_subprogram
DW_AT_linkage_name ("_ZNKSt12experimental13coroutines_v114suspend_always11await_readyEv")
DW_AT_name ("await_ready")
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/experimental/coroutine")
DW_AT_decl_line (311)
DW_AT_type (0x00000784 "bool")
DW_AT_declaration (true)
DW_AT_external (true)
0x000002d9: DW_TAG_formal_parameter
DW_AT_type (0x00001619 "const suspend_always*")
DW_AT_artificial (true)
0x000002de: NULL
0x000002df: DW_TAG_subprogram
DW_AT_linkage_name ("_ZNKSt12experimental13coroutines_v114suspend_always13await_suspendENS0_16coroutine_handleIvEE")
DW_AT_name ("await_suspend")
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/experimental/coroutine")
DW_AT_decl_line (313)
DW_AT_declaration (true)
DW_AT_external (true)
0x000002eb: DW_TAG_formal_parameter
DW_AT_type (0x00001619 "const suspend_always*")
DW_AT_artificial (true)
0x000002f0: DW_TAG_formal_parameter
DW_AT_type (0x00000165 "coroutine_handle<void>")
0x000002f5: NULL
0x000002f6: DW_TAG_subprogram
DW_AT_linkage_name ("_ZNKSt12experimental13coroutines_v114suspend_always12await_resumeEv")
DW_AT_name ("await_resume")
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/experimental/coroutine")
DW_AT_decl_line (315)
DW_AT_declaration (true)
DW_AT_external (true)
0x00000302: DW_TAG_formal_parameter
DW_AT_type (0x00001619 "const suspend_always*")
DW_AT_artificial (true)
0x00000307: NULL
0x00000308: NULL
0x00000309: DW_TAG_structure_type
DW_AT_calling_convention (DW_CC_pass_by_value)
DW_AT_name ("__coroutine_traits_sfinae<coro, void>")
DW_AT_byte_size (0x01)
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/experimental/coroutine")
DW_AT_decl_line (76)
0x00000312: DW_TAG_template_type_parameter
DW_AT_type (0x0000002a "coro")
DW_AT_name ("_Tp")
0x0000031b: DW_TAG_template_type_parameter
0x0000031c: DW_TAG_typedef
DW_AT_type (0x0000003f "promise_type")
DW_AT_name ("promise_type")
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/experimental/coroutine")
DW_AT_decl_line (79)
0x00000327: NULL
0x00000328: NULL
0x00000329: NULL
0x0000032a: DW_TAG_typedef
DW_AT_type (0x00000770 "decltype(nullptr)")
DW_AT_name ("nullptr_t")
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/__nullptr")
DW_AT_decl_line (56)
0x00000335: DW_TAG_namespace
DW_AT_name ("__1")
DW_AT_export_symbols (true)
0x0000033a: DW_TAG_imported_declaration
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/cstdio")
DW_AT_decl_line (107)
DW_AT_import (0x000007b8)
0x00000341: DW_TAG_imported_declaration
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/cstdio")
DW_AT_decl_line (108)
DW_AT_import (0x000007c8)
0x00000348: DW_TAG_imported_declaration
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/cstdio")
DW_AT_decl_line (109)
DW_AT_import (0x000007e3)
0x0000034f: DW_TAG_imported_declaration
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/cstdio")
DW_AT_decl_line (111)
DW_AT_import (0x000007f5)
0x00000356: DW_TAG_imported_declaration
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/cstdio")
DW_AT_decl_line (112)
DW_AT_import (0x00000812)
0x0000035d: DW_TAG_imported_declaration
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/cstdio")
DW_AT_decl_line (113)
DW_AT_import (0x00000823)
0x00000364: DW_TAG_imported_declaration
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/cstdio")
DW_AT_decl_line (114)
DW_AT_import (0x0000084c)
0x0000036b: DW_TAG_imported_declaration
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/cstdio")
DW_AT_decl_line (115)
DW_AT_import (0x0000086d)
0x00000372: DW_TAG_imported_declaration
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/cstdio")
DW_AT_decl_line (116)
DW_AT_import (0x00000894)
0x00000379: DW_TAG_imported_declaration
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/cstdio")
DW_AT_decl_line (117)
DW_AT_import (0x000008b0)
0x00000380: DW_TAG_imported_declaration
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/cstdio")
DW_AT_decl_line (118)
DW_AT_import (0x000008cd)
0x00000387: DW_TAG_imported_declaration
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/cstdio")
DW_AT_decl_line (119)
DW_AT_import (0x000008e5)
0x0000038e: DW_TAG_imported_declaration
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/cstdio")
DW_AT_decl_line (120)
DW_AT_import (0x00000901)
0x00000395: DW_TAG_imported_declaration
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/cstdio")
DW_AT_decl_line (121)
DW_AT_import (0x00000927)
0x0000039c: DW_TAG_imported_declaration
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/cstdio")
DW_AT_decl_line (122)
DW_AT_import (0x00000947)
0x000003a3: DW_TAG_imported_declaration
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/cstdio")
DW_AT_decl_line (123)
DW_AT_import (0x00000967)
0x000003aa: DW_TAG_imported_declaration
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/cstdio")
DW_AT_decl_line (124)
DW_AT_import (0x00000988)
0x000003b1: DW_TAG_imported_declaration
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/cstdio")
DW_AT_decl_line (125)
DW_AT_import (0x000009a4)
0x000003b8: DW_TAG_imported_declaration
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/cstdio")
DW_AT_decl_line (126)
DW_AT_import (0x000009b6)
0x000003bf: DW_TAG_imported_declaration
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/cstdio")
DW_AT_decl_line (127)
DW_AT_import (0x000009d2)
0x000003c6: DW_TAG_imported_declaration
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/cstdio")
DW_AT_decl_line (128)
DW_AT_import (0x000009e9)
0x000003cd: DW_TAG_imported_declaration
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/cstdio")
DW_AT_decl_line (129)
DW_AT_import (0x00000a00)
0x000003d4: DW_TAG_imported_declaration
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/cstdio")
DW_AT_decl_line (130)
DW_AT_import (0x00000a12)
0x000003db: DW_TAG_imported_declaration
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/cstdio")
DW_AT_decl_line (131)
DW_AT_import (0x00000a29)
0x000003e2: DW_TAG_imported_declaration
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/cstdio")
DW_AT_decl_line (132)
DW_AT_import (0x00000a40)
0x000003e9: DW_TAG_imported_declaration
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/cstdio")
DW_AT_decl_line (133)
DW_AT_import (0x00000a66)
0x000003f0: DW_TAG_imported_declaration
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/cstdio")
DW_AT_decl_line (134)
DW_AT_import (0x00000a92)
0x000003f7: DW_TAG_imported_declaration
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/cstdio")
DW_AT_decl_line (135)
DW_AT_import (0x00000ab3)
0x000003fe: DW_TAG_imported_declaration
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/cstdio")
DW_AT_decl_line (136)
DW_AT_import (0x00000ad6)
0x00000405: DW_TAG_imported_declaration
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/cstdio")
DW_AT_decl_line (137)
DW_AT_import (0x00000af7)
0x0000040c: DW_TAG_imported_declaration
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/cstdio")
DW_AT_decl_line (138)
DW_AT_import (0x00000b09)
0x00000413: DW_TAG_imported_declaration
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/cstdio")
DW_AT_decl_line (139)
DW_AT_import (0x00000b17)
0x0000041a: DW_TAG_imported_declaration
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/cstdio")
DW_AT_decl_line (140)
DW_AT_import (0x00000b25)
0x00000421: DW_TAG_imported_declaration
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/cstdio")
DW_AT_decl_line (141)
DW_AT_import (0x00000b37)
0x00000428: DW_TAG_imported_declaration
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/cstdio")
DW_AT_decl_line (142)
DW_AT_import (0x00000b49)
0x0000042f: DW_TAG_imported_declaration
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/cstdio")
DW_AT_decl_line (145)
DW_AT_import (0x00000b57)
0x00000436: DW_TAG_imported_declaration
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/cstdio")
DW_AT_decl_line (146)
DW_AT_import (0x00000b6d)
0x0000043d: DW_TAG_imported_declaration
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/cstdio")
DW_AT_decl_line (147)
DW_AT_import (0x00000b88)
0x00000444: DW_TAG_imported_declaration
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/cstdio")
DW_AT_decl_line (148)
DW_AT_import (0x00000b99)
0x0000044b: DW_TAG_imported_declaration
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/cstdio")
DW_AT_decl_line (149)
DW_AT_import (0x00000baf)
0x00000452: DW_TAG_imported_declaration
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/cstdio")
DW_AT_decl_line (150)
DW_AT_import (0x00000bba)
0x00000459: DW_TAG_imported_declaration
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/cstdio")
DW_AT_decl_line (154)
DW_AT_import (0x00000bcb)
0x00000460: DW_TAG_imported_declaration
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/cstdio")
DW_AT_decl_line (158)
DW_AT_import (0x00000bd7)
0x00000467: DW_TAG_imported_declaration
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/cstdio")
DW_AT_decl_line (159)
DW_AT_import (0x00000bee)
0x0000046e: DW_TAG_imported_declaration
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/cstdio")
DW_AT_decl_line (163)
DW_AT_import (0x00000c09)
0x00000475: DW_TAG_imported_declaration
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/cstdio")
DW_AT_decl_line (164)
DW_AT_import (0x00000c1c)
0x0000047c: DW_TAG_imported_declaration
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/cstdio")
DW_AT_decl_line (165)
DW_AT_import (0x00000c2e)
0x00000483: DW_TAG_imported_declaration
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/cstdio")
DW_AT_decl_line (166)
DW_AT_import (0x00000c40)
0x0000048a: DW_TAG_imported_declaration
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/cstddef")
DW_AT_decl_line (49)
DW_AT_import (0x00000c57)
0x00000491: DW_TAG_imported_declaration
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/cstddef")
DW_AT_decl_line (50)
DW_AT_import (0x000007e3)
0x00000498: DW_TAG_imported_declaration
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/cstddef")
DW_AT_decl_line (55)
DW_AT_import (0x00000c62)
0x0000049f: DW_TAG_imported_declaration
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/cstdlib")
DW_AT_decl_line (99)
DW_AT_import (0x000007e3)
0x000004a6: DW_TAG_imported_declaration
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/cstdlib")
DW_AT_decl_line (100)
DW_AT_import (0x00000c6e)
0x000004ad: DW_TAG_imported_declaration
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/cstdlib")
DW_AT_decl_line (101)
DW_AT_import (0x00000c7a)
0x000004b4: DW_TAG_imported_declaration
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/cstdlib")
DW_AT_decl_line (103)
DW_AT_import (0x00000ca3)
0x000004bb: DW_TAG_imported_declaration
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/cstdlib")
DW_AT_decl_line (105)
DW_AT_import (0x00000cd3)
0x000004c2: DW_TAG_imported_declaration
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/cstdlib")
DW_AT_decl_line (106)
DW_AT_import (0x00000ceb)
0x000004c9: DW_TAG_imported_declaration
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/cstdlib")
DW_AT_decl_line (107)
DW_AT_import (0x00000cfc)
0x000004d0: DW_TAG_imported_declaration
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/cstdlib")
DW_AT_decl_line (109)
DW_AT_import (0x00000d0d)
0x000004d7: DW_TAG_imported_declaration
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/cstdlib")
DW_AT_decl_line (111)
DW_AT_import (0x00000d1e)
0x000004de: DW_TAG_imported_declaration
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/cstdlib")
DW_AT_decl_line (112)
DW_AT_import (0x00000d3e)
0x000004e5: DW_TAG_imported_declaration
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/cstdlib")
DW_AT_decl_line (113)
DW_AT_import (0x00000d5b)
0x000004ec: DW_TAG_imported_declaration
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/cstdlib")
DW_AT_decl_line (114)
DW_AT_import (0x00000d78)
0x000004f3: DW_TAG_imported_declaration
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/cstdlib")
DW_AT_decl_line (116)
DW_AT_import (0x00000d93)
0x000004fa: DW_TAG_imported_declaration
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/cstdlib")
DW_AT_decl_line (118)
DW_AT_import (0x00000dae)
0x00000501: DW_TAG_imported_declaration
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/cstdlib")
DW_AT_decl_line (120)
DW_AT_import (0x00000dc9)
0x00000508: DW_TAG_imported_declaration
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/cstdlib")
DW_AT_decl_line (122)
DW_AT_import (0x00000deb)
0x0000050f: DW_TAG_imported_declaration
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/cstdlib")
DW_AT_decl_line (123)
DW_AT_import (0x00000df7)
0x00000516: DW_TAG_imported_declaration
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/cstdlib")
DW_AT_decl_line (124)
DW_AT_import (0x00000e0c)
0x0000051d: DW_TAG_imported_declaration
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/cstdlib")
DW_AT_decl_line (125)
DW_AT_import (0x00000e23)
0x00000524: DW_TAG_imported_declaration
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/cstdlib")
DW_AT_decl_line (126)
DW_AT_import (0x00000e31)
0x0000052b: DW_TAG_imported_declaration
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/cstdlib")
DW_AT_decl_line (127)
DW_AT_import (0x00000e43)
0x00000532: DW_TAG_imported_declaration
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/cstdlib")
DW_AT_decl_line (128)
DW_AT_import (0x00000e5a)
0x00000539: DW_TAG_imported_declaration
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/cstdlib")
DW_AT_decl_line (129)
DW_AT_import (0x00000e62)
0x00000540: DW_TAG_imported_declaration
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/cstdlib")
DW_AT_decl_line (130)
DW_AT_import (0x00000e7a)
0x00000547: DW_TAG_imported_declaration
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/cstdlib")
DW_AT_decl_line (131)
DW_AT_import (0x00000e88)
0x0000054e: DW_TAG_imported_declaration
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/cstdlib")
DW_AT_decl_line (133)
DW_AT_import (0x00000e96)
0x00000555: DW_TAG_imported_declaration
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/cstdlib")
DW_AT_decl_line (134)
DW_AT_import (0x00000ea8)
0x0000055c: DW_TAG_imported_declaration
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/cstdlib")
DW_AT_decl_line (136)
DW_AT_import (0x00000eba)
0x00000563: DW_TAG_imported_declaration
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/cstdlib")
DW_AT_decl_line (137)
DW_AT_import (0x00000f01)
0x0000056a: DW_TAG_imported_declaration
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/cstdlib")
DW_AT_decl_line (138)
DW_AT_import (0x00000f1e)
0x00000571: DW_TAG_imported_declaration
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/cstdlib")
DW_AT_decl_line (139)
DW_AT_import (0x00000f34)
0x00000578: DW_TAG_imported_declaration
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/cstdlib")
DW_AT_decl_line (141)
DW_AT_import (0x00000f46)
0x0000057f: DW_TAG_imported_declaration
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/cstdlib")
DW_AT_decl_line (143)
DW_AT_import (0x00000f58)
0x00000586: DW_TAG_imported_declaration
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/cstdlib")
DW_AT_decl_line (144)
DW_AT_import (0x00000f73)
0x0000058d: DW_TAG_imported_declaration
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/cstdlib")
DW_AT_decl_line (146)
DW_AT_import (0x00000f8a)
0x00000594: DW_TAG_imported_declaration
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/cstdlib")
DW_AT_decl_line (148)
DW_AT_import (0x00000fa1)
0x0000059b: DW_TAG_imported_declaration
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/cstdlib")
DW_AT_decl_line (149)
DW_AT_import (0x00000fb8)
0x000005a2: DW_TAG_imported_declaration
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/cstdlib")
DW_AT_decl_line (150)
DW_AT_import (0x00000fe5)
0x000005a9: DW_TAG_imported_declaration
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/cstdlib")
DW_AT_decl_line (151)
DW_AT_import (0x00000ffc)
0x000005b0: DW_TAG_imported_declaration
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/cstdlib")
DW_AT_decl_line (152)
DW_AT_import (0x00001018)
0x000005b7: DW_TAG_imported_declaration
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/cstdlib")
DW_AT_decl_line (154)
DW_AT_import (0x00001043)
0x000005be: DW_TAG_imported_declaration
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/cstdlib")
DW_AT_decl_line (155)
DW_AT_import (0x00001055)
0x000005c5: DW_TAG_imported_declaration
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/cstdlib")
DW_AT_decl_line (158)
DW_AT_import (0x00001063)
0x000005cc: DW_TAG_imported_declaration
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/cstdint")
DW_AT_decl_line (152)
DW_AT_import (0x0000107a)
0x000005d3: DW_TAG_imported_declaration
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/cstdint")
DW_AT_decl_line (153)
DW_AT_import (0x00001097)
0x000005da: DW_TAG_imported_declaration
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/cstdint")
DW_AT_decl_line (154)
DW_AT_import (0x000010b4)
0x000005e1: DW_TAG_imported_declaration
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/cstdint")
DW_AT_decl_line (155)
DW_AT_import (0x000010ca)
0x000005e8: DW_TAG_imported_declaration
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/cstdint")
DW_AT_decl_line (157)
DW_AT_import (0x000010e0)
0x000005ef: DW_TAG_imported_declaration
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/cstdint")
DW_AT_decl_line (158)
DW_AT_import (0x000010fd)
0x000005f6: DW_TAG_imported_declaration
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/cstdint")
DW_AT_decl_line (159)
DW_AT_import (0x0000111a)
0x000005fd: DW_TAG_imported_declaration
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/cstdint")
DW_AT_decl_line (160)
DW_AT_import (0x00001130)
0x00000604: DW_TAG_imported_declaration
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/cstdint")
DW_AT_decl_line (162)
DW_AT_import (0x00001146)
0x0000060b: DW_TAG_imported_declaration
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/cstdint")
DW_AT_decl_line (163)
DW_AT_import (0x0000115c)
0x00000612: DW_TAG_imported_declaration
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/cstdint")
DW_AT_decl_line (164)
DW_AT_import (0x00001172)
0x00000619: DW_TAG_imported_declaration
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/cstdint")
DW_AT_decl_line (165)
DW_AT_import (0x00001188)
0x00000620: DW_TAG_imported_declaration
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/cstdint")
DW_AT_decl_line (167)
DW_AT_import (0x0000119e)
0x00000627: DW_TAG_imported_declaration
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/cstdint")
DW_AT_decl_line (168)
DW_AT_import (0x000011b4)
0x0000062e: DW_TAG_imported_declaration
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/cstdint")
DW_AT_decl_line (169)
DW_AT_import (0x000011ca)
0x00000635: DW_TAG_imported_declaration
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/cstdint")
DW_AT_decl_line (170)
DW_AT_import (0x000011e0)
0x0000063c: DW_TAG_imported_declaration
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/cstdint")
DW_AT_decl_line (172)
DW_AT_import (0x000011f6)
0x00000643: DW_TAG_imported_declaration
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/cstdint")
DW_AT_decl_line (173)
DW_AT_import (0x00001201)
0x0000064a: DW_TAG_imported_declaration
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/cstdint")
DW_AT_decl_line (174)
DW_AT_import (0x0000120c)
0x00000651: DW_TAG_imported_declaration
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/cstdint")
DW_AT_decl_line (175)
DW_AT_import (0x00001217)
0x00000658: DW_TAG_imported_declaration
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/cstdint")
DW_AT_decl_line (177)
DW_AT_import (0x00001222)
0x0000065f: DW_TAG_imported_declaration
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/cstdint")
DW_AT_decl_line (178)
DW_AT_import (0x0000122d)
0x00000666: DW_TAG_imported_declaration
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/cstdint")
DW_AT_decl_line (179)
DW_AT_import (0x00001238)
0x0000066d: DW_TAG_imported_declaration
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/cstdint")
DW_AT_decl_line (180)
DW_AT_import (0x00001243)
0x00000674: DW_TAG_imported_declaration
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/cstdint")
DW_AT_decl_line (182)
DW_AT_import (0x0000124e)
0x0000067b: DW_TAG_imported_declaration
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/cstdint")
DW_AT_decl_line (183)
DW_AT_import (0x00001259)
0x00000682: DW_TAG_imported_declaration
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/cstdint")
DW_AT_decl_line (185)
DW_AT_import (0x00001264)
0x00000689: DW_TAG_imported_declaration
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/cstdint")
DW_AT_decl_line (186)
DW_AT_import (0x0000127a)
0x00000690: DW_TAG_imported_declaration
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/cstring")
DW_AT_decl_line (68)
DW_AT_import (0x000007e3)
0x00000697: DW_TAG_imported_declaration
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/cstring")
DW_AT_decl_line (69)
DW_AT_import (0x00001290)
0x0000069e: DW_TAG_imported_declaration
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/cstring")
DW_AT_decl_line (70)
DW_AT_import (0x000012ab)
0x000006a5: DW_TAG_imported_declaration
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/cstring")
DW_AT_decl_line (71)
DW_AT_import (0x000012c6)
0x000006ac: DW_TAG_imported_declaration
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/cstring")
DW_AT_decl_line (72)
DW_AT_import (0x000012dc)
0x000006b3: DW_TAG_imported_declaration
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/cstring")
DW_AT_decl_line (73)
DW_AT_import (0x000012f7)
0x000006ba: DW_TAG_imported_declaration
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/cstring")
DW_AT_decl_line (74)
DW_AT_import (0x0000130d)
0x000006c1: DW_TAG_imported_declaration
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/cstring")
DW_AT_decl_line (75)
DW_AT_import (0x00001328)
0x000006c8: DW_TAG_imported_declaration
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/cstring")
DW_AT_decl_line (76)
DW_AT_import (0x00001343)
0x000006cf: DW_TAG_imported_declaration
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/cstring")
DW_AT_decl_line (77)
DW_AT_import (0x00001359)
0x000006d6: DW_TAG_imported_declaration
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/cstring")
DW_AT_decl_line (78)
DW_AT_import (0x00001374)
0x000006dd: DW_TAG_imported_declaration
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/cstring")
DW_AT_decl_line (79)
DW_AT_import (0x0000138a)
0x000006e4: DW_TAG_imported_declaration
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/cstring")
DW_AT_decl_line (80)
DW_AT_import (0x000013a5)
0x000006eb: DW_TAG_imported_declaration
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/cstring")
DW_AT_decl_line (81)
DW_AT_import (0x000013c4)
0x000006f2: DW_TAG_imported_declaration
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/cstring")
DW_AT_decl_line (82)
DW_AT_import (0x000013de)
0x000006f9: DW_TAG_imported_declaration
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/cstring")
DW_AT_decl_line (83)
DW_AT_import (0x000013f5)
0x00000700: DW_TAG_imported_declaration
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/cstring")
DW_AT_decl_line (84)
DW_AT_import (0x0000140f)
0x00000707: DW_TAG_imported_declaration
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/cstring")
DW_AT_decl_line (85)
DW_AT_import (0x00001429)
0x0000070e: DW_TAG_imported_declaration
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/cstring")
DW_AT_decl_line (86)
DW_AT_import (0x00001440)
0x00000715: DW_TAG_imported_declaration
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/cstring")
DW_AT_decl_line (88)
DW_AT_import (0x0000145a)
0x0000071c: DW_TAG_imported_declaration
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/cstring")
DW_AT_decl_line (90)
DW_AT_import (0x00001471)
0x00000723: DW_TAG_imported_declaration
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/cstring")
DW_AT_decl_line (91)
DW_AT_import (0x0000148c)
0x0000072a: DW_TAG_imported_declaration
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/cstring")
DW_AT_decl_line (92)
DW_AT_import (0x0000149e)
0x00000731: DW_TAG_subprogram
DW_AT_low_pc (0x0000000000202ca0)
DW_AT_high_pc (0x0000000000202cae)
DW_AT_frame_base (DW_OP_reg6 RBP)
DW_AT_linkage_name ("_ZNSt3__19addressofIN4coro12promise_typeEEEPT_RS3_")
DW_AT_name ("addressof<coro::promise_type>")
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/type_traits")
DW_AT_decl_line (591)
DW_AT_type (0x0000183d "promise_type*")
DW_AT_external (true)
0x0000074f: DW_TAG_formal_parameter
DW_AT_location (DW_OP_fbreg -8)
DW_AT_name ("__x")
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/type_traits")
DW_AT_decl_line (591)
DW_AT_type (0x00000795 "promise_type&")
0x0000075e: DW_TAG_template_type_parameter
DW_AT_type (0x0000003f "promise_type")
DW_AT_name ("_Tp")
0x00000767: NULL
0x00000768: NULL
0x00000769: NULL
0x0000076a: DW_TAG_pointer_type
0x0000076b: DW_TAG_pointer_type
DW_AT_type (0x00000165 "coroutine_handle<void>")
0x00000770: DW_TAG_unspecified_type
DW_AT_name ("decltype(nullptr)")
0x00000775: DW_TAG_reference_type
DW_AT_type (0x00000165 "coroutine_handle<void>")
0x0000077a: DW_TAG_pointer_type
DW_AT_type (0x0000077f "const coroutine_handle<void>")
0x0000077f: DW_TAG_const_type
DW_AT_type (0x00000165 "coroutine_handle<void>")
0x00000784: DW_TAG_base_type
DW_AT_name ("bool")
DW_AT_encoding (DW_ATE_boolean)
DW_AT_byte_size (0x01)
0x0000078b: DW_TAG_reference_type
DW_AT_type (0x000000cc "coroutine_handle<coro::promise_type>")
0x00000790: DW_TAG_pointer_type
DW_AT_type (0x000000cc "coroutine_handle<coro::promise_type>")
0x00000795: DW_TAG_reference_type
DW_AT_type (0x0000003f "promise_type")
0x0000079a: DW_TAG_pointer_type
DW_AT_type (0x0000003f "promise_type")
0x0000079f: DW_TAG_pointer_type
DW_AT_type (0x000007a4 "const suspend_never")
0x000007a4: DW_TAG_const_type
DW_AT_type (0x00000275 "suspend_never")
0x000007a9: DW_TAG_pointer_type
DW_AT_type (0x000007ae "const coroutine_handle<coro::promise_type>")
0x000007ae: DW_TAG_const_type
DW_AT_type (0x000000cc "coroutine_handle<coro::promise_type>")
0x000007b3: DW_TAG_pointer_type
DW_AT_type (0x0000002a "coro")
0x000007b8: DW_TAG_typedef
DW_AT_type (0x000007c3 "_IO_FILE")
DW_AT_name ("FILE")
DW_AT_decl_file ("/usr/include/x86_64-linux-gnu/bits/types/FILE.h")
DW_AT_decl_line (7)
0x000007c3: DW_TAG_structure_type
DW_AT_name ("_IO_FILE")
DW_AT_declaration (true)
0x000007c8: DW_TAG_typedef
DW_AT_type (0x000007d3 "__fpos_t")
DW_AT_name ("fpos_t")
DW_AT_decl_file ("/usr/include/stdio.h")
DW_AT_decl_line (84)
0x000007d3: DW_TAG_typedef
DW_AT_type (0x000007de "_G_fpos_t")
DW_AT_name ("__fpos_t")
DW_AT_decl_file ("/usr/include/x86_64-linux-gnu/bits/types/__fpos_t.h")
DW_AT_decl_line (14)
0x000007de: DW_TAG_structure_type
DW_AT_name ("_G_fpos_t")
DW_AT_declaration (true)
0x000007e3: DW_TAG_typedef
DW_AT_type (0x000007ee "long unsigned int")
DW_AT_name ("size_t")
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/lib/clang/11.0.0/include/stddef.h")
DW_AT_decl_line (46)
0x000007ee: DW_TAG_base_type
DW_AT_name ("long unsigned int")
DW_AT_encoding (DW_ATE_unsigned)
DW_AT_byte_size (0x08)
0x000007f5: DW_TAG_subprogram
DW_AT_name ("fclose")
DW_AT_decl_file ("/usr/include/stdio.h")
DW_AT_decl_line (213)
DW_AT_type (0x00000806 "int")
DW_AT_declaration (true)
DW_AT_external (true)
0x00000800: DW_TAG_formal_parameter
DW_AT_type (0x0000080d "FILE*")
0x00000805: NULL
0x00000806: DW_TAG_base_type
DW_AT_name ("int")
DW_AT_encoding (DW_ATE_signed)
DW_AT_byte_size (0x04)
0x0000080d: DW_TAG_pointer_type
DW_AT_type (0x000007b8 "FILE")
0x00000812: DW_TAG_subprogram
DW_AT_name ("fflush")
DW_AT_decl_file ("/usr/include/stdio.h")
DW_AT_decl_line (218)
DW_AT_type (0x00000806 "int")
DW_AT_declaration (true)
DW_AT_external (true)
0x0000081d: DW_TAG_formal_parameter
DW_AT_type (0x0000080d "FILE*")
0x00000822: NULL
0x00000823: DW_TAG_subprogram
DW_AT_name ("setbuf")
DW_AT_decl_file ("/usr/include/stdio.h")
DW_AT_decl_line (304)
DW_AT_declaration (true)
DW_AT_external (true)
0x0000082b: DW_TAG_formal_parameter
DW_AT_type (0x00000836 "restrict FILE*")
0x00000830: DW_TAG_formal_parameter
DW_AT_type (0x0000083b "restrict char*")
0x00000835: NULL
0x00000836: DW_TAG_restrict_type
DW_AT_type (0x0000080d "FILE*")
0x0000083b: DW_TAG_restrict_type
DW_AT_type (0x00000840 "char*")
0x00000840: DW_TAG_pointer_type
DW_AT_type (0x00000845 "char")
0x00000845: DW_TAG_base_type
DW_AT_name ("char")
DW_AT_encoding (DW_ATE_signed_char)
DW_AT_byte_size (0x01)
0x0000084c: DW_TAG_subprogram
DW_AT_name ("setvbuf")
DW_AT_decl_file ("/usr/include/stdio.h")
DW_AT_decl_line (308)
DW_AT_type (0x00000806 "int")
DW_AT_declaration (true)
DW_AT_external (true)
0x00000858: DW_TAG_formal_parameter
DW_AT_type (0x00000836 "restrict FILE*")
0x0000085d: DW_TAG_formal_parameter
DW_AT_type (0x0000083b "restrict char*")
0x00000862: DW_TAG_formal_parameter
DW_AT_type (0x00000806 "int")
0x00000867: DW_TAG_formal_parameter
DW_AT_type (0x000007e3 "size_t")
0x0000086c: NULL
0x0000086d: DW_TAG_subprogram
DW_AT_name ("fprintf")
DW_AT_decl_file ("/usr/include/stdio.h")
DW_AT_decl_line (326)
DW_AT_type (0x00000806 "int")
DW_AT_declaration (true)
DW_AT_external (true)
0x00000879: DW_TAG_formal_parameter
DW_AT_type (0x00000836 "restrict FILE*")
0x0000087e: DW_TAG_formal_parameter
DW_AT_type (0x00000885 "restrict const char*")
0x00000883: DW_TAG_unspecified_parameters
0x00000884: NULL
0x00000885: DW_TAG_restrict_type
DW_AT_type (0x0000088a "const char*")
0x0000088a: DW_TAG_pointer_type
DW_AT_type (0x0000088f "const char")
0x0000088f: DW_TAG_const_type
DW_AT_type (0x00000845 "char")
0x00000894: DW_TAG_subprogram
DW_AT_linkage_name ("__isoc99_fscanf")
DW_AT_name ("fscanf")
DW_AT_decl_file ("/usr/include/stdio.h")
DW_AT_decl_line (407)
DW_AT_type (0x00000806 "int")
DW_AT_declaration (true)
DW_AT_external (true)
0x000008a4: DW_TAG_formal_parameter
DW_AT_type (0x00000836 "restrict FILE*")
0x000008a9: DW_TAG_formal_parameter
DW_AT_type (0x00000885 "restrict const char*")
0x000008ae: DW_TAG_unspecified_parameters
0x000008af: NULL
0x000008b0: DW_TAG_subprogram
DW_AT_name ("snprintf")
DW_AT_decl_file ("/usr/include/stdio.h")
DW_AT_decl_line (354)
DW_AT_type (0x00000806 "int")
DW_AT_declaration (true)
DW_AT_external (true)
0x000008bc: DW_TAG_formal_parameter
DW_AT_type (0x0000083b "restrict char*")
0x000008c1: DW_TAG_formal_parameter
DW_AT_type (0x000007e3 "size_t")
0x000008c6: DW_TAG_formal_parameter
DW_AT_type (0x00000885 "restrict const char*")
0x000008cb: DW_TAG_unspecified_parameters
0x000008cc: NULL
0x000008cd: DW_TAG_subprogram
DW_AT_name ("sprintf")
DW_AT_decl_file ("/usr/include/stdio.h")
DW_AT_decl_line (334)
DW_AT_type (0x00000806 "int")
DW_AT_declaration (true)
DW_AT_external (true)
0x000008d9: DW_TAG_formal_parameter
DW_AT_type (0x0000083b "restrict char*")
0x000008de: DW_TAG_formal_parameter
DW_AT_type (0x00000885 "restrict const char*")
0x000008e3: DW_TAG_unspecified_parameters
0x000008e4: NULL
0x000008e5: DW_TAG_subprogram
DW_AT_linkage_name ("__isoc99_sscanf")
DW_AT_name ("sscanf")
DW_AT_decl_file ("/usr/include/stdio.h")
DW_AT_decl_line (412)
DW_AT_type (0x00000806 "int")
DW_AT_declaration (true)
DW_AT_external (true)
0x000008f5: DW_TAG_formal_parameter
DW_AT_type (0x00000885 "restrict const char*")
0x000008fa: DW_TAG_formal_parameter
DW_AT_type (0x00000885 "restrict const char*")
0x000008ff: DW_TAG_unspecified_parameters
0x00000900: NULL
0x00000901: DW_TAG_subprogram
DW_AT_name ("vfprintf")
DW_AT_decl_file ("/usr/include/stdio.h")
DW_AT_decl_line (341)
DW_AT_type (0x00000806 "int")
DW_AT_declaration (true)
DW_AT_external (true)
0x0000090d: DW_TAG_formal_parameter
DW_AT_type (0x00000836 "restrict FILE*")
0x00000912: DW_TAG_formal_parameter
DW_AT_type (0x00000885 "restrict const char*")
0x00000917: DW_TAG_formal_parameter
DW_AT_type (0x0000091d "__va_list_tag*")
0x0000091c: NULL
0x0000091d: DW_TAG_pointer_type
DW_AT_type (0x00000922 "__va_list_tag")
0x00000922: DW_TAG_structure_type
DW_AT_name ("__va_list_tag")
DW_AT_declaration (true)
0x00000927: DW_TAG_subprogram
DW_AT_linkage_name ("__isoc99_vfscanf")
DW_AT_name ("vfscanf")
DW_AT_decl_file ("/usr/include/stdio.h")
DW_AT_decl_line (451)
DW_AT_type (0x00000806 "int")
DW_AT_declaration (true)
DW_AT_external (true)
0x00000937: DW_TAG_formal_parameter
DW_AT_type (0x00000836 "restrict FILE*")
0x0000093c: DW_TAG_formal_parameter
DW_AT_type (0x00000885 "restrict const char*")
0x00000941: DW_TAG_formal_parameter
DW_AT_type (0x0000091d "__va_list_tag*")
0x00000946: NULL
0x00000947: DW_TAG_subprogram
DW_AT_linkage_name ("__isoc99_vsscanf")
DW_AT_name ("vsscanf")
DW_AT_decl_file ("/usr/include/stdio.h")
DW_AT_decl_line (459)
DW_AT_type (0x00000806 "int")
DW_AT_declaration (true)
DW_AT_external (true)
0x00000957: DW_TAG_formal_parameter
DW_AT_type (0x00000885 "restrict const char*")
0x0000095c: DW_TAG_formal_parameter
DW_AT_type (0x00000885 "restrict const char*")
0x00000961: DW_TAG_formal_parameter
DW_AT_type (0x0000091d "__va_list_tag*")
0x00000966: NULL
0x00000967: DW_TAG_subprogram
DW_AT_name ("vsnprintf")
DW_AT_decl_file ("/usr/include/stdio.h")
DW_AT_decl_line (358)
DW_AT_type (0x00000806 "int")
DW_AT_declaration (true)
DW_AT_external (true)
0x00000973: DW_TAG_formal_parameter
DW_AT_type (0x0000083b "restrict char*")
0x00000978: DW_TAG_formal_parameter
DW_AT_type (0x000007e3 "size_t")
0x0000097d: DW_TAG_formal_parameter
DW_AT_type (0x00000885 "restrict const char*")
0x00000982: DW_TAG_formal_parameter
DW_AT_type (0x0000091d "__va_list_tag*")
0x00000987: NULL
0x00000988: DW_TAG_subprogram
DW_AT_name ("vsprintf")
DW_AT_decl_file ("/usr/include/stdio.h")
DW_AT_decl_line (349)
DW_AT_type (0x00000806 "int")
DW_AT_declaration (true)
DW_AT_external (true)
0x00000994: DW_TAG_formal_parameter
DW_AT_type (0x0000083b "restrict char*")
0x00000999: DW_TAG_formal_parameter
DW_AT_type (0x00000885 "restrict const char*")
0x0000099e: DW_TAG_formal_parameter
DW_AT_type (0x0000091d "__va_list_tag*")
0x000009a3: NULL
0x000009a4: DW_TAG_subprogram
DW_AT_name ("fgetc")
DW_AT_decl_file ("/usr/include/stdio.h")
DW_AT_decl_line (485)
DW_AT_type (0x00000806 "int")
DW_AT_declaration (true)
DW_AT_external (true)
0x000009b0: DW_TAG_formal_parameter
DW_AT_type (0x0000080d "FILE*")
0x000009b5: NULL
0x000009b6: DW_TAG_subprogram
DW_AT_name ("fgets")
DW_AT_decl_file ("/usr/include/stdio.h")
DW_AT_decl_line (564)
DW_AT_type (0x00000840 "char*")
DW_AT_declaration (true)
DW_AT_external (true)
0x000009c2: DW_TAG_formal_parameter
DW_AT_type (0x0000083b "restrict char*")
0x000009c7: DW_TAG_formal_parameter
DW_AT_type (0x00000806 "int")
0x000009cc: DW_TAG_formal_parameter
DW_AT_type (0x00000836 "restrict FILE*")
0x000009d1: NULL
0x000009d2: DW_TAG_subprogram
DW_AT_name ("fputc")
DW_AT_decl_file ("/usr/include/stdio.h")
DW_AT_decl_line (521)
DW_AT_type (0x00000806 "int")
DW_AT_declaration (true)
DW_AT_external (true)
0x000009de: DW_TAG_formal_parameter
DW_AT_type (0x00000806 "int")
0x000009e3: DW_TAG_formal_parameter
DW_AT_type (0x0000080d "FILE*")
0x000009e8: NULL
0x000009e9: DW_TAG_subprogram
DW_AT_name ("fputs")
DW_AT_decl_file ("/usr/include/stdio.h")
DW_AT_decl_line (626)
DW_AT_type (0x00000806 "int")
DW_AT_declaration (true)
DW_AT_external (true)
0x000009f5: DW_TAG_formal_parameter
DW_AT_type (0x00000885 "restrict const char*")
0x000009fa: DW_TAG_formal_parameter
DW_AT_type (0x00000836 "restrict FILE*")
0x000009ff: NULL
0x00000a00: DW_TAG_subprogram
DW_AT_name ("getc")
DW_AT_decl_file ("/usr/include/stdio.h")
DW_AT_decl_line (486)
DW_AT_type (0x00000806 "int")
DW_AT_declaration (true)
DW_AT_external (true)
0x00000a0c: DW_TAG_formal_parameter
DW_AT_type (0x0000080d "FILE*")
0x00000a11: NULL
0x00000a12: DW_TAG_subprogram
DW_AT_name ("putc")
DW_AT_decl_file ("/usr/include/stdio.h")
DW_AT_decl_line (522)
DW_AT_type (0x00000806 "int")
DW_AT_declaration (true)
DW_AT_external (true)
0x00000a1e: DW_TAG_formal_parameter
DW_AT_type (0x00000806 "int")
0x00000a23: DW_TAG_formal_parameter
DW_AT_type (0x0000080d "FILE*")
0x00000a28: NULL
0x00000a29: DW_TAG_subprogram
DW_AT_name ("ungetc")
DW_AT_decl_file ("/usr/include/stdio.h")
DW_AT_decl_line (639)
DW_AT_type (0x00000806 "int")
DW_AT_declaration (true)
DW_AT_external (true)
0x00000a35: DW_TAG_formal_parameter
DW_AT_type (0x00000806 "int")
0x00000a3a: DW_TAG_formal_parameter
DW_AT_type (0x0000080d "FILE*")
0x00000a3f: NULL
0x00000a40: DW_TAG_subprogram
DW_AT_name ("fread")
DW_AT_decl_file ("/usr/include/stdio.h")
DW_AT_decl_line (646)
DW_AT_type (0x000007e3 "size_t")
DW_AT_declaration (true)
DW_AT_external (true)
0x00000a4c: DW_TAG_formal_parameter
DW_AT_type (0x00000a61 "restrict *")
0x00000a51: DW_TAG_formal_parameter
DW_AT_type (0x000007e3 "size_t")
0x00000a56: DW_TAG_formal_parameter
DW_AT_type (0x000007e3 "size_t")
0x00000a5b: DW_TAG_formal_parameter
DW_AT_type (0x00000836 "restrict FILE*")
0x00000a60: NULL
0x00000a61: DW_TAG_restrict_type
DW_AT_type (0x0000076a "*")
0x00000a66: DW_TAG_subprogram
DW_AT_name ("fwrite")
DW_AT_decl_file ("/usr/include/stdio.h")
DW_AT_decl_line (652)
DW_AT_type (0x000007e3 "size_t")
DW_AT_declaration (true)
DW_AT_external (true)
0x00000a72: DW_TAG_formal_parameter
DW_AT_type (0x00000a87 "restrict const *")
0x00000a77: DW_TAG_formal_parameter
DW_AT_type (0x000007e3 "size_t")
0x00000a7c: DW_TAG_formal_parameter
DW_AT_type (0x000007e3 "size_t")
0x00000a81: DW_TAG_formal_parameter
DW_AT_type (0x00000836 "restrict FILE*")
0x00000a86: NULL
0x00000a87: DW_TAG_restrict_type
DW_AT_type (0x00000a8c "const *")
0x00000a8c: DW_TAG_pointer_type
DW_AT_type (0x00000a91 "const ")
0x00000a91: DW_TAG_const_type
0x00000a92: DW_TAG_subprogram
DW_AT_name ("fgetpos")
DW_AT_decl_file ("/usr/include/stdio.h")
DW_AT_decl_line (731)
DW_AT_type (0x00000806 "int")
DW_AT_declaration (true)
DW_AT_external (true)
0x00000a9e: DW_TAG_formal_parameter
DW_AT_type (0x00000836 "restrict FILE*")
0x00000aa3: DW_TAG_formal_parameter
DW_AT_type (0x00000aa9 "restrict fpos_t*")
0x00000aa8: NULL
0x00000aa9: DW_TAG_restrict_type
DW_AT_type (0x00000aae "fpos_t*")
0x00000aae: DW_TAG_pointer_type
DW_AT_type (0x000007c8 "fpos_t")
0x00000ab3: DW_TAG_subprogram
DW_AT_name ("fseek")
DW_AT_decl_file ("/usr/include/stdio.h")
DW_AT_decl_line (684)
DW_AT_type (0x00000806 "int")
DW_AT_declaration (true)
DW_AT_external (true)
0x00000abf: DW_TAG_formal_parameter
DW_AT_type (0x0000080d "FILE*")
0x00000ac4: DW_TAG_formal_parameter
DW_AT_type (0x00000acf "long int")
0x00000ac9: DW_TAG_formal_parameter
DW_AT_type (0x00000806 "int")
0x00000ace: NULL
0x00000acf: DW_TAG_base_type
DW_AT_name ("long int")
DW_AT_encoding (DW_ATE_signed)
DW_AT_byte_size (0x08)
0x00000ad6: DW_TAG_subprogram
DW_AT_name ("fsetpos")
DW_AT_decl_file ("/usr/include/stdio.h")
DW_AT_decl_line (736)
DW_AT_type (0x00000806 "int")
DW_AT_declaration (true)
DW_AT_external (true)
0x00000ae2: DW_TAG_formal_parameter
DW_AT_type (0x0000080d "FILE*")
0x00000ae7: DW_TAG_formal_parameter
DW_AT_type (0x00000aed "const fpos_t*")
0x00000aec: NULL
0x00000aed: DW_TAG_pointer_type
DW_AT_type (0x00000af2 "const fpos_t")
0x00000af2: DW_TAG_const_type
DW_AT_type (0x000007c8 "fpos_t")
0x00000af7: DW_TAG_subprogram
DW_AT_name ("ftell")
DW_AT_decl_file ("/usr/include/stdio.h")
DW_AT_decl_line (689)
DW_AT_type (0x00000acf "long int")
DW_AT_declaration (true)
DW_AT_external (true)
0x00000b03: DW_TAG_formal_parameter
DW_AT_type (0x0000080d "FILE*")
0x00000b08: NULL
0x00000b09: DW_TAG_subprogram
DW_AT_name ("rewind")
DW_AT_decl_file ("/usr/include/stdio.h")
DW_AT_decl_line (694)
DW_AT_declaration (true)
DW_AT_external (true)
0x00000b11: DW_TAG_formal_parameter
DW_AT_type (0x0000080d "FILE*")
0x00000b16: NULL
0x00000b17: DW_TAG_subprogram
DW_AT_name ("clearerr")
DW_AT_decl_file ("/usr/include/stdio.h")
DW_AT_decl_line (757)
DW_AT_declaration (true)
DW_AT_external (true)
0x00000b1f: DW_TAG_formal_parameter
DW_AT_type (0x0000080d "FILE*")
0x00000b24: NULL
0x00000b25: DW_TAG_subprogram
DW_AT_name ("feof")
DW_AT_decl_file ("/usr/include/stdio.h")
DW_AT_decl_line (759)
DW_AT_type (0x00000806 "int")
DW_AT_declaration (true)
DW_AT_external (true)
0x00000b31: DW_TAG_formal_parameter
DW_AT_type (0x0000080d "FILE*")
0x00000b36: NULL
0x00000b37: DW_TAG_subprogram
DW_AT_name ("ferror")
DW_AT_decl_file ("/usr/include/stdio.h")
DW_AT_decl_line (761)
DW_AT_type (0x00000806 "int")
DW_AT_declaration (true)
DW_AT_external (true)
0x00000b43: DW_TAG_formal_parameter
DW_AT_type (0x0000080d "FILE*")
0x00000b48: NULL
0x00000b49: DW_TAG_subprogram
DW_AT_name ("perror")
DW_AT_decl_file ("/usr/include/stdio.h")
DW_AT_decl_line (775)
DW_AT_declaration (true)
DW_AT_external (true)
0x00000b51: DW_TAG_formal_parameter
DW_AT_type (0x0000088a "const char*")
0x00000b56: NULL
0x00000b57: DW_TAG_subprogram
DW_AT_name ("fopen")
DW_AT_decl_file ("/usr/include/stdio.h")
DW_AT_decl_line (246)
DW_AT_type (0x0000080d "FILE*")
DW_AT_declaration (true)
DW_AT_external (true)
0x00000b62: DW_TAG_formal_parameter
DW_AT_type (0x00000885 "restrict const char*")
0x00000b67: DW_TAG_formal_parameter
DW_AT_type (0x00000885 "restrict const char*")
0x00000b6c: NULL
0x00000b6d: DW_TAG_subprogram
DW_AT_name ("freopen")
DW_AT_decl_file ("/usr/include/stdio.h")
DW_AT_decl_line (252)
DW_AT_type (0x0000080d "FILE*")
DW_AT_declaration (true)
DW_AT_external (true)
0x00000b78: DW_TAG_formal_parameter
DW_AT_type (0x00000885 "restrict const char*")
0x00000b7d: DW_TAG_formal_parameter
DW_AT_type (0x00000885 "restrict const char*")
0x00000b82: DW_TAG_formal_parameter
DW_AT_type (0x00000836 "restrict FILE*")
0x00000b87: NULL
0x00000b88: DW_TAG_subprogram
DW_AT_name ("remove")
DW_AT_decl_file ("/usr/include/stdio.h")
DW_AT_decl_line (146)
DW_AT_type (0x00000806 "int")
DW_AT_declaration (true)
DW_AT_external (true)
0x00000b93: DW_TAG_formal_parameter
DW_AT_type (0x0000088a "const char*")
0x00000b98: NULL
0x00000b99: DW_TAG_subprogram
DW_AT_name ("rename")
DW_AT_decl_file ("/usr/include/stdio.h")
DW_AT_decl_line (148)
DW_AT_type (0x00000806 "int")
DW_AT_declaration (true)
DW_AT_external (true)
0x00000ba4: DW_TAG_formal_parameter
DW_AT_type (0x0000088a "const char*")
0x00000ba9: DW_TAG_formal_parameter
DW_AT_type (0x0000088a "const char*")
0x00000bae: NULL
0x00000baf: DW_TAG_subprogram
DW_AT_name ("tmpfile")
DW_AT_decl_file ("/usr/include/stdio.h")
DW_AT_decl_line (173)
DW_AT_type (0x0000080d "FILE*")
DW_AT_declaration (true)
DW_AT_external (true)
0x00000bba: DW_TAG_subprogram
DW_AT_name ("tmpnam")
DW_AT_decl_file ("/usr/include/stdio.h")
DW_AT_decl_line (187)
DW_AT_type (0x00000840 "char*")
DW_AT_declaration (true)
DW_AT_external (true)
0x00000bc5: DW_TAG_formal_parameter
DW_AT_type (0x00000840 "char*")
0x00000bca: NULL
0x00000bcb: DW_TAG_subprogram
DW_AT_name ("getchar")
DW_AT_decl_file ("/usr/include/stdio.h")
DW_AT_decl_line (492)
DW_AT_type (0x00000806 "int")
DW_AT_declaration (true)
DW_AT_external (true)
0x00000bd7: DW_TAG_subprogram
DW_AT_linkage_name ("__isoc99_scanf")
DW_AT_name ("scanf")
DW_AT_decl_file ("/usr/include/stdio.h")
DW_AT_decl_line (410)
DW_AT_type (0x00000806 "int")
DW_AT_declaration (true)
DW_AT_external (true)
0x00000be7: DW_TAG_formal_parameter
DW_AT_type (0x00000885 "restrict const char*")
0x00000bec: DW_TAG_unspecified_parameters
0x00000bed: NULL
0x00000bee: DW_TAG_subprogram
DW_AT_linkage_name ("__isoc99_vscanf")
DW_AT_name ("vscanf")
DW_AT_decl_file ("/usr/include/stdio.h")
DW_AT_decl_line (456)
DW_AT_type (0x00000806 "int")
DW_AT_declaration (true)
DW_AT_external (true)
0x00000bfe: DW_TAG_formal_parameter
DW_AT_type (0x00000885 "restrict const char*")
0x00000c03: DW_TAG_formal_parameter
DW_AT_type (0x0000091d "__va_list_tag*")
0x00000c08: NULL
0x00000c09: DW_TAG_subprogram
DW_AT_name ("printf")
DW_AT_decl_file ("/usr/include/stdio.h")
DW_AT_decl_line (332)
DW_AT_type (0x00000806 "int")
DW_AT_declaration (true)
DW_AT_external (true)
0x00000c15: DW_TAG_formal_parameter
DW_AT_type (0x00000885 "restrict const char*")
0x00000c1a: DW_TAG_unspecified_parameters
0x00000c1b: NULL
0x00000c1c: DW_TAG_subprogram
DW_AT_name ("putchar")
DW_AT_decl_file ("/usr/include/stdio.h")
DW_AT_decl_line (528)
DW_AT_type (0x00000806 "int")
DW_AT_declaration (true)
DW_AT_external (true)
0x00000c28: DW_TAG_formal_parameter
DW_AT_type (0x00000806 "int")
0x00000c2d: NULL
0x00000c2e: DW_TAG_subprogram
DW_AT_name ("puts")
DW_AT_decl_file ("/usr/include/stdio.h")
DW_AT_decl_line (632)
DW_AT_type (0x00000806 "int")
DW_AT_declaration (true)
DW_AT_external (true)
0x00000c3a: DW_TAG_formal_parameter
DW_AT_type (0x0000088a "const char*")
0x00000c3f: NULL
0x00000c40: DW_TAG_subprogram
DW_AT_name ("vprintf")
DW_AT_decl_file ("/usr/include/stdio.h")
DW_AT_decl_line (347)
DW_AT_type (0x00000806 "int")
DW_AT_declaration (true)
DW_AT_external (true)
0x00000c4c: DW_TAG_formal_parameter
DW_AT_type (0x00000885 "restrict const char*")
0x00000c51: DW_TAG_formal_parameter
DW_AT_type (0x0000091d "__va_list_tag*")
0x00000c56: NULL
0x00000c57: DW_TAG_typedef
DW_AT_type (0x00000acf "long int")
DW_AT_name ("ptrdiff_t")
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/lib/clang/11.0.0/include/stddef.h")
DW_AT_decl_line (35)
0x00000c62: DW_TAG_typedef
DW_AT_type (0x00000c6d "structure ")
DW_AT_name ("max_align_t")
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/lib/clang/11.0.0/include/__stddef_max_align_t.h")
DW_AT_decl_line (24)
0x00000c6d: DW_TAG_structure_type
DW_AT_declaration (true)
0x00000c6e: DW_TAG_typedef
DW_AT_type (0x00000c79 "structure ")
DW_AT_name ("div_t")
DW_AT_decl_file ("/usr/include/stdlib.h")
DW_AT_decl_line (62)
0x00000c79: DW_TAG_structure_type
DW_AT_declaration (true)
0x00000c7a: DW_TAG_typedef
DW_AT_type (0x00000c85 "structure ")
DW_AT_name ("ldiv_t")
DW_AT_decl_file ("/usr/include/stdlib.h")
DW_AT_decl_line (70)
0x00000c85: DW_TAG_structure_type
DW_AT_calling_convention (DW_CC_pass_by_value)
DW_AT_byte_size (0x10)
DW_AT_decl_file ("/usr/include/stdlib.h")
DW_AT_decl_line (66)
0x00000c8a: DW_TAG_member
DW_AT_name ("quot")
DW_AT_type (0x00000acf "long int")
DW_AT_decl_file ("/usr/include/stdlib.h")
DW_AT_decl_line (68)
DW_AT_data_member_location (0x00)
0x00000c96: DW_TAG_member
DW_AT_name ("rem")
DW_AT_type (0x00000acf "long int")
DW_AT_decl_file ("/usr/include/stdlib.h")
DW_AT_decl_line (69)
DW_AT_data_member_location (0x08)
0x00000ca2: NULL
0x00000ca3: DW_TAG_typedef
DW_AT_type (0x00000cae "structure ")
DW_AT_name ("lldiv_t")
DW_AT_decl_file ("/usr/include/stdlib.h")
DW_AT_decl_line (80)
0x00000cae: DW_TAG_structure_type
DW_AT_calling_convention (DW_CC_pass_by_value)
DW_AT_byte_size (0x10)
DW_AT_decl_file ("/usr/include/stdlib.h")
DW_AT_decl_line (76)
0x00000cb3: DW_TAG_member
DW_AT_name ("quot")
DW_AT_type (0x00000ccc "long long int")
DW_AT_decl_file ("/usr/include/stdlib.h")
DW_AT_decl_line (78)
DW_AT_data_member_location (0x00)
0x00000cbf: DW_TAG_member
DW_AT_name ("rem")
DW_AT_type (0x00000ccc "long long int")
DW_AT_decl_file ("/usr/include/stdlib.h")
DW_AT_decl_line (79)
DW_AT_data_member_location (0x08)
0x00000ccb: NULL
0x00000ccc: DW_TAG_base_type
DW_AT_name ("long long int")
DW_AT_encoding (DW_ATE_signed)
DW_AT_byte_size (0x08)
0x00000cd3: DW_TAG_subprogram
DW_AT_name ("atof")
DW_AT_decl_file ("/usr/include/stdlib.h")
DW_AT_decl_line (101)
DW_AT_type (0x00000ce4 "double")
DW_AT_declaration (true)
DW_AT_external (true)
0x00000cde: DW_TAG_formal_parameter
DW_AT_type (0x0000088a "const char*")
0x00000ce3: NULL
0x00000ce4: DW_TAG_base_type
DW_AT_name ("double")
DW_AT_encoding (DW_ATE_float)
DW_AT_byte_size (0x08)
0x00000ceb: DW_TAG_subprogram
DW_AT_name ("atoi")
DW_AT_decl_file ("/usr/include/stdlib.h")
DW_AT_decl_line (104)
DW_AT_type (0x00000806 "int")
DW_AT_declaration (true)
DW_AT_external (true)
0x00000cf6: DW_TAG_formal_parameter
DW_AT_type (0x0000088a "const char*")
0x00000cfb: NULL
0x00000cfc: DW_TAG_subprogram
DW_AT_name ("atol")
DW_AT_decl_file ("/usr/include/stdlib.h")
DW_AT_decl_line (107)
DW_AT_type (0x00000acf "long int")
DW_AT_declaration (true)
DW_AT_external (true)
0x00000d07: DW_TAG_formal_parameter
DW_AT_type (0x0000088a "const char*")
0x00000d0c: NULL
0x00000d0d: DW_TAG_subprogram
DW_AT_name ("atoll")
DW_AT_decl_file ("/usr/include/stdlib.h")
DW_AT_decl_line (112)
DW_AT_type (0x00000ccc "long long int")
DW_AT_declaration (true)
DW_AT_external (true)
0x00000d18: DW_TAG_formal_parameter
DW_AT_type (0x0000088a "const char*")
0x00000d1d: NULL
0x00000d1e: DW_TAG_subprogram
DW_AT_name ("strtod")
DW_AT_decl_file ("/usr/include/stdlib.h")
DW_AT_decl_line (117)
DW_AT_type (0x00000ce4 "double")
DW_AT_declaration (true)
DW_AT_external (true)
0x00000d29: DW_TAG_formal_parameter
DW_AT_type (0x00000885 "restrict const char*")
0x00000d2e: DW_TAG_formal_parameter
DW_AT_type (0x00000d34 "restrict char**")
0x00000d33: NULL
0x00000d34: DW_TAG_restrict_type
DW_AT_type (0x00000d39 "char**")
0x00000d39: DW_TAG_pointer_type
DW_AT_type (0x00000840 "char*")
0x00000d3e: DW_TAG_subprogram
DW_AT_name ("strtof")
DW_AT_decl_file ("/usr/include/stdlib.h")
DW_AT_decl_line (123)
DW_AT_type (0x00000d54 "float")
DW_AT_declaration (true)
DW_AT_external (true)
0x00000d49: DW_TAG_formal_parameter
DW_AT_type (0x00000885 "restrict const char*")
0x00000d4e: DW_TAG_formal_parameter
DW_AT_type (0x00000d34 "restrict char**")
0x00000d53: NULL
0x00000d54: DW_TAG_base_type
DW_AT_name ("float")
DW_AT_encoding (DW_ATE_float)
DW_AT_byte_size (0x04)
0x00000d5b: DW_TAG_subprogram
DW_AT_name ("strtold")
DW_AT_decl_file ("/usr/include/stdlib.h")
DW_AT_decl_line (126)
DW_AT_type (0x00000d71 "long double")
DW_AT_declaration (true)
DW_AT_external (true)
0x00000d66: DW_TAG_formal_parameter
DW_AT_type (0x00000885 "restrict const char*")
0x00000d6b: DW_TAG_formal_parameter
DW_AT_type (0x00000d34 "restrict char**")
0x00000d70: NULL
0x00000d71: DW_TAG_base_type
DW_AT_name ("long double")
DW_AT_encoding (DW_ATE_float)
DW_AT_byte_size (0x10)
0x00000d78: DW_TAG_subprogram
DW_AT_name ("strtol")
DW_AT_decl_file ("/usr/include/stdlib.h")
DW_AT_decl_line (176)
DW_AT_type (0x00000acf "long int")
DW_AT_declaration (true)
DW_AT_external (true)
0x00000d83: DW_TAG_formal_parameter
DW_AT_type (0x00000885 "restrict const char*")
0x00000d88: DW_TAG_formal_parameter
DW_AT_type (0x00000d34 "restrict char**")
0x00000d8d: DW_TAG_formal_parameter
DW_AT_type (0x00000806 "int")
0x00000d92: NULL
0x00000d93: DW_TAG_subprogram
DW_AT_name ("strtoll")
DW_AT_decl_file ("/usr/include/stdlib.h")
DW_AT_decl_line (200)
DW_AT_type (0x00000ccc "long long int")
DW_AT_declaration (true)
DW_AT_external (true)
0x00000d9e: DW_TAG_formal_parameter
DW_AT_type (0x00000885 "restrict const char*")
0x00000da3: DW_TAG_formal_parameter
DW_AT_type (0x00000d34 "restrict char**")
0x00000da8: DW_TAG_formal_parameter
DW_AT_type (0x00000806 "int")
0x00000dad: NULL
0x00000dae: DW_TAG_subprogram
DW_AT_name ("strtoul")
DW_AT_decl_file ("/usr/include/stdlib.h")
DW_AT_decl_line (180)
DW_AT_type (0x000007ee "long unsigned int")
DW_AT_declaration (true)
DW_AT_external (true)
0x00000db9: DW_TAG_formal_parameter
DW_AT_type (0x00000885 "restrict const char*")
0x00000dbe: DW_TAG_formal_parameter
DW_AT_type (0x00000d34 "restrict char**")
0x00000dc3: DW_TAG_formal_parameter
DW_AT_type (0x00000806 "int")
0x00000dc8: NULL
0x00000dc9: DW_TAG_subprogram
DW_AT_name ("strtoull")
DW_AT_decl_file ("/usr/include/stdlib.h")
DW_AT_decl_line (205)
DW_AT_type (0x00000de4 "long long unsigned int")
DW_AT_declaration (true)
DW_AT_external (true)
0x00000dd4: DW_TAG_formal_parameter
DW_AT_type (0x00000885 "restrict const char*")
0x00000dd9: DW_TAG_formal_parameter
DW_AT_type (0x00000d34 "restrict char**")
0x00000dde: DW_TAG_formal_parameter
DW_AT_type (0x00000806 "int")
0x00000de3: NULL
0x00000de4: DW_TAG_base_type
DW_AT_name ("long long unsigned int")
DW_AT_encoding (DW_ATE_unsigned)
DW_AT_byte_size (0x08)
0x00000deb: DW_TAG_subprogram
DW_AT_name ("rand")
DW_AT_decl_file ("/usr/include/stdlib.h")
DW_AT_decl_line (453)
DW_AT_type (0x00000806 "int")
DW_AT_declaration (true)
DW_AT_external (true)
0x00000df7: DW_TAG_subprogram
DW_AT_name ("srand")
DW_AT_decl_file ("/usr/include/stdlib.h")
DW_AT_decl_line (455)
DW_AT_declaration (true)
DW_AT_external (true)
0x00000dff: DW_TAG_formal_parameter
DW_AT_type (0x00000e05 "unsigned int")
0x00000e04: NULL
0x00000e05: DW_TAG_base_type
DW_AT_name ("unsigned int")
DW_AT_encoding (DW_ATE_unsigned)
DW_AT_byte_size (0x04)
0x00000e0c: DW_TAG_subprogram
DW_AT_name ("calloc")
DW_AT_decl_file ("/usr/include/stdlib.h")
DW_AT_decl_line (542)
DW_AT_type (0x0000076a "*")
DW_AT_declaration (true)
DW_AT_external (true)
0x00000e18: DW_TAG_formal_parameter
DW_AT_type (0x000007e3 "size_t")
0x00000e1d: DW_TAG_formal_parameter
DW_AT_type (0x000007e3 "size_t")
0x00000e22: NULL
0x00000e23: DW_TAG_subprogram
DW_AT_name ("free")
DW_AT_decl_file ("/usr/include/stdlib.h")
DW_AT_decl_line (565)
DW_AT_declaration (true)
DW_AT_external (true)
0x00000e2b: DW_TAG_formal_parameter
DW_AT_type (0x0000076a "*")
0x00000e30: NULL
0x00000e31: DW_TAG_subprogram
DW_AT_name ("malloc")
DW_AT_decl_file ("/usr/include/stdlib.h")
DW_AT_decl_line (539)
DW_AT_type (0x0000076a "*")
DW_AT_declaration (true)
DW_AT_external (true)
0x00000e3d: DW_TAG_formal_parameter
DW_AT_type (0x000007e3 "size_t")
0x00000e42: NULL
0x00000e43: DW_TAG_subprogram
DW_AT_name ("realloc")
DW_AT_decl_file ("/usr/include/stdlib.h")
DW_AT_decl_line (550)
DW_AT_type (0x0000076a "*")
DW_AT_declaration (true)
DW_AT_external (true)
0x00000e4f: DW_TAG_formal_parameter
DW_AT_type (0x0000076a "*")
0x00000e54: DW_TAG_formal_parameter
DW_AT_type (0x000007e3 "size_t")
0x00000e59: NULL
0x00000e5a: DW_TAG_subprogram
DW_AT_name ("abort")
DW_AT_decl_file ("/usr/include/stdlib.h")
DW_AT_decl_line (591)
DW_AT_declaration (true)
DW_AT_external (true)
DW_AT_noreturn (true)
0x00000e62: DW_TAG_subprogram
DW_AT_name ("atexit")
DW_AT_decl_file ("/usr/include/stdlib.h")
DW_AT_decl_line (595)
DW_AT_type (0x00000806 "int")
DW_AT_declaration (true)
DW_AT_external (true)
0x00000e6e: DW_TAG_formal_parameter
DW_AT_type (0x00000e74 "void()*")
0x00000e73: NULL
0x00000e74: DW_TAG_pointer_type
DW_AT_type (0x00000e79 "void()")
0x00000e79: DW_TAG_subroutine_type
0x00000e7a: DW_TAG_subprogram
DW_AT_name ("exit")
DW_AT_decl_file ("/usr/include/stdlib.h")
DW_AT_decl_line (617)
DW_AT_declaration (true)
DW_AT_external (true)
DW_AT_noreturn (true)
0x00000e82: DW_TAG_formal_parameter
DW_AT_type (0x00000806 "int")
0x00000e87: NULL
0x00000e88: DW_TAG_subprogram
DW_AT_name ("_Exit")
DW_AT_decl_file ("/usr/include/stdlib.h")
DW_AT_decl_line (629)
DW_AT_declaration (true)
DW_AT_external (true)
DW_AT_noreturn (true)
0x00000e90: DW_TAG_formal_parameter
DW_AT_type (0x00000806 "int")
0x00000e95: NULL
0x00000e96: DW_TAG_subprogram
DW_AT_name ("getenv")
DW_AT_decl_file ("/usr/include/stdlib.h")
DW_AT_decl_line (634)
DW_AT_type (0x00000840 "char*")
DW_AT_declaration (true)
DW_AT_external (true)
0x00000ea2: DW_TAG_formal_parameter
DW_AT_type (0x0000088a "const char*")
0x00000ea7: NULL
0x00000ea8: DW_TAG_subprogram
DW_AT_name ("system")
DW_AT_decl_file ("/usr/include/stdlib.h")
DW_AT_decl_line (784)
DW_AT_type (0x00000806 "int")
DW_AT_declaration (true)
DW_AT_external (true)
0x00000eb4: DW_TAG_formal_parameter
DW_AT_type (0x0000088a "const char*")
0x00000eb9: NULL
0x00000eba: DW_TAG_subprogram
DW_AT_name ("bsearch")
DW_AT_decl_file ("/usr/include/stdlib.h")
DW_AT_decl_line (820)
DW_AT_type (0x0000076a "*")
DW_AT_declaration (true)
DW_AT_external (true)
0x00000ec6: DW_TAG_formal_parameter
DW_AT_type (0x00000a8c "const *")
0x00000ecb: DW_TAG_formal_parameter
DW_AT_type (0x00000a8c "const *")
0x00000ed0: DW_TAG_formal_parameter
DW_AT_type (0x000007e3 "size_t")
0x00000ed5: DW_TAG_formal_parameter
DW_AT_type (0x000007e3 "size_t")
0x00000eda: DW_TAG_formal_parameter
DW_AT_type (0x00000ee0 "__compar_fn_t")
0x00000edf: NULL
0x00000ee0: DW_TAG_typedef
DW_AT_type (0x00000eec "int(const *, const *)*")
DW_AT_name ("__compar_fn_t")
DW_AT_decl_file ("/usr/include/stdlib.h")
DW_AT_decl_line (808)
0x00000eec: DW_TAG_pointer_type
DW_AT_type (0x00000ef1 "int(const *, const *)")
0x00000ef1: DW_TAG_subroutine_type
DW_AT_type (0x00000806 "int")
0x00000ef6: DW_TAG_formal_parameter
DW_AT_type (0x00000a8c "const *")
0x00000efb: DW_TAG_formal_parameter
DW_AT_type (0x00000a8c "const *")
0x00000f00: NULL
0x00000f01: DW_TAG_subprogram
DW_AT_name ("qsort")
DW_AT_decl_file ("/usr/include/stdlib.h")
DW_AT_decl_line (830)
DW_AT_declaration (true)
DW_AT_external (true)
0x00000f09: DW_TAG_formal_parameter
DW_AT_type (0x0000076a "*")
0x00000f0e: DW_TAG_formal_parameter
DW_AT_type (0x000007e3 "size_t")
0x00000f13: DW_TAG_formal_parameter
DW_AT_type (0x000007e3 "size_t")
0x00000f18: DW_TAG_formal_parameter
DW_AT_type (0x00000ee0 "__compar_fn_t")
0x00000f1d: NULL
0x00000f1e: DW_TAG_subprogram
DW_AT_linkage_name ("_Z3abse")
DW_AT_name ("abs")
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/math.h")
DW_AT_decl_line (793)
DW_AT_type (0x00000d71 "long double")
DW_AT_declaration (true)
DW_AT_external (true)
0x00000f2e: DW_TAG_formal_parameter
DW_AT_type (0x00000d71 "long double")
0x00000f33: NULL
0x00000f34: DW_TAG_subprogram
DW_AT_name ("labs")
DW_AT_decl_file ("/usr/include/stdlib.h")
DW_AT_decl_line (841)
DW_AT_type (0x00000acf "long int")
DW_AT_declaration (true)
DW_AT_external (true)
0x00000f40: DW_TAG_formal_parameter
DW_AT_type (0x00000acf "long int")
0x00000f45: NULL
0x00000f46: DW_TAG_subprogram
DW_AT_name ("llabs")
DW_AT_decl_file ("/usr/include/stdlib.h")
DW_AT_decl_line (844)
DW_AT_type (0x00000ccc "long long int")
DW_AT_declaration (true)
DW_AT_external (true)
0x00000f52: DW_TAG_formal_parameter
DW_AT_type (0x00000ccc "long long int")
0x00000f57: NULL
0x00000f58: DW_TAG_subprogram
DW_AT_linkage_name ("_Z3divxx")
DW_AT_name ("div")
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/math.h")
DW_AT_decl_line (812)
DW_AT_type (0x00000ca3 "lldiv_t")
DW_AT_declaration (true)
DW_AT_external (true)
0x00000f68: DW_TAG_formal_parameter
DW_AT_type (0x00000ccc "long long int")
0x00000f6d: DW_TAG_formal_parameter
DW_AT_type (0x00000ccc "long long int")
0x00000f72: NULL
0x00000f73: DW_TAG_subprogram
DW_AT_name ("ldiv")
DW_AT_decl_file ("/usr/include/stdlib.h")
DW_AT_decl_line (854)
DW_AT_type (0x00000c7a "ldiv_t")
DW_AT_declaration (true)
DW_AT_external (true)
0x00000f7f: DW_TAG_formal_parameter
DW_AT_type (0x00000acf "long int")
0x00000f84: DW_TAG_formal_parameter
DW_AT_type (0x00000acf "long int")
0x00000f89: NULL
0x00000f8a: DW_TAG_subprogram
DW_AT_name ("lldiv")
DW_AT_decl_file ("/usr/include/stdlib.h")
DW_AT_decl_line (858)
DW_AT_type (0x00000ca3 "lldiv_t")
DW_AT_declaration (true)
DW_AT_external (true)
0x00000f96: DW_TAG_formal_parameter
DW_AT_type (0x00000ccc "long long int")
0x00000f9b: DW_TAG_formal_parameter
DW_AT_type (0x00000ccc "long long int")
0x00000fa0: NULL
0x00000fa1: DW_TAG_subprogram
DW_AT_name ("mblen")
DW_AT_decl_file ("/usr/include/stdlib.h")
DW_AT_decl_line (922)
DW_AT_type (0x00000806 "int")
DW_AT_declaration (true)
DW_AT_external (true)
0x00000fad: DW_TAG_formal_parameter
DW_AT_type (0x0000088a "const char*")
0x00000fb2: DW_TAG_formal_parameter
DW_AT_type (0x000007e3 "size_t")
0x00000fb7: NULL
0x00000fb8: DW_TAG_subprogram
DW_AT_name ("mbtowc")
DW_AT_decl_file ("/usr/include/stdlib.h")
DW_AT_decl_line (925)
DW_AT_type (0x00000806 "int")
DW_AT_declaration (true)
DW_AT_external (true)
0x00000fc4: DW_TAG_formal_parameter
DW_AT_type (0x00000fd4 "restrict wchar_t*")
0x00000fc9: DW_TAG_formal_parameter
DW_AT_type (0x00000885 "restrict const char*")
0x00000fce: DW_TAG_formal_parameter
DW_AT_type (0x000007e3 "size_t")
0x00000fd3: NULL
0x00000fd4: DW_TAG_restrict_type
DW_AT_type (0x00000fd9 "wchar_t*")
0x00000fd9: DW_TAG_pointer_type
DW_AT_type (0x00000fde "wchar_t")
0x00000fde: DW_TAG_base_type
DW_AT_name ("wchar_t")
DW_AT_encoding (DW_ATE_signed)
DW_AT_byte_size (0x04)
0x00000fe5: DW_TAG_subprogram
DW_AT_name ("wctomb")
DW_AT_decl_file ("/usr/include/stdlib.h")
DW_AT_decl_line (929)
DW_AT_type (0x00000806 "int")
DW_AT_declaration (true)
DW_AT_external (true)
0x00000ff1: DW_TAG_formal_parameter
DW_AT_type (0x00000840 "char*")
0x00000ff6: DW_TAG_formal_parameter
DW_AT_type (0x00000fde "wchar_t")
0x00000ffb: NULL
0x00000ffc: DW_TAG_subprogram
DW_AT_name ("mbstowcs")
DW_AT_decl_file ("/usr/include/stdlib.h")
DW_AT_decl_line (933)
DW_AT_type (0x000007e3 "size_t")
DW_AT_declaration (true)
DW_AT_external (true)
0x00001008: DW_TAG_formal_parameter
DW_AT_type (0x00000fd4 "restrict wchar_t*")
0x0000100d: DW_TAG_formal_parameter
DW_AT_type (0x00000885 "restrict const char*")
0x00001012: DW_TAG_formal_parameter
DW_AT_type (0x000007e3 "size_t")
0x00001017: NULL
0x00001018: DW_TAG_subprogram
DW_AT_name ("wcstombs")
DW_AT_decl_file ("/usr/include/stdlib.h")
DW_AT_decl_line (936)
DW_AT_type (0x000007e3 "size_t")
DW_AT_declaration (true)
DW_AT_external (true)
0x00001024: DW_TAG_formal_parameter
DW_AT_type (0x0000083b "restrict char*")
0x00001029: DW_TAG_formal_parameter
DW_AT_type (0x00001034 "restrict const wchar_t*")
0x0000102e: DW_TAG_formal_parameter
DW_AT_type (0x000007e3 "size_t")
0x00001033: NULL
0x00001034: DW_TAG_restrict_type
DW_AT_type (0x00001039 "const wchar_t*")
0x00001039: DW_TAG_pointer_type
DW_AT_type (0x0000103e "const wchar_t")
0x0000103e: DW_TAG_const_type
DW_AT_type (0x00000fde "wchar_t")
0x00001043: DW_TAG_subprogram
DW_AT_name ("at_quick_exit")
DW_AT_decl_file ("/usr/include/stdlib.h")
DW_AT_decl_line (600)
DW_AT_type (0x00000806 "int")
DW_AT_declaration (true)
DW_AT_external (true)
0x0000104f: DW_TAG_formal_parameter
DW_AT_type (0x00000e74 "void()*")
0x00001054: NULL
0x00001055: DW_TAG_subprogram
DW_AT_name ("quick_exit")
DW_AT_decl_file ("/usr/include/stdlib.h")
DW_AT_decl_line (623)
DW_AT_declaration (true)
DW_AT_external (true)
DW_AT_noreturn (true)
0x0000105d: DW_TAG_formal_parameter
DW_AT_type (0x00000806 "int")
0x00001062: NULL
0x00001063: DW_TAG_subprogram
DW_AT_name ("aligned_alloc")
DW_AT_decl_file ("/usr/include/stdlib.h")
DW_AT_decl_line (586)
DW_AT_type (0x0000076a "*")
DW_AT_declaration (true)
DW_AT_external (true)
0x0000106f: DW_TAG_formal_parameter
DW_AT_type (0x000007e3 "size_t")
0x00001074: DW_TAG_formal_parameter
DW_AT_type (0x000007e3 "size_t")
0x00001079: NULL
0x0000107a: DW_TAG_typedef
DW_AT_type (0x00001085 "__int8_t")
DW_AT_name ("int8_t")
DW_AT_decl_file ("/usr/include/x86_64-linux-gnu/bits/stdint-intn.h")
DW_AT_decl_line (24)
0x00001085: DW_TAG_typedef
DW_AT_type (0x00001090 "signed char")
DW_AT_name ("__int8_t")
DW_AT_decl_file ("/usr/include/x86_64-linux-gnu/bits/types.h")
DW_AT_decl_line (37)
0x00001090: DW_TAG_base_type
DW_AT_name ("signed char")
DW_AT_encoding (DW_ATE_signed_char)
DW_AT_byte_size (0x01)
0x00001097: DW_TAG_typedef
DW_AT_type (0x000010a2 "__int16_t")
DW_AT_name ("int16_t")
DW_AT_decl_file ("/usr/include/x86_64-linux-gnu/bits/stdint-intn.h")
DW_AT_decl_line (25)
0x000010a2: DW_TAG_typedef
DW_AT_type (0x000010ad "short")
DW_AT_name ("__int16_t")
DW_AT_decl_file ("/usr/include/x86_64-linux-gnu/bits/types.h")
DW_AT_decl_line (39)
0x000010ad: DW_TAG_base_type
DW_AT_name ("short")
DW_AT_encoding (DW_ATE_signed)
DW_AT_byte_size (0x02)
0x000010b4: DW_TAG_typedef
DW_AT_type (0x000010bf "__int32_t")
DW_AT_name ("int32_t")
DW_AT_decl_file ("/usr/include/x86_64-linux-gnu/bits/stdint-intn.h")
DW_AT_decl_line (26)
0x000010bf: DW_TAG_typedef
DW_AT_type (0x00000806 "int")
DW_AT_name ("__int32_t")
DW_AT_decl_file ("/usr/include/x86_64-linux-gnu/bits/types.h")
DW_AT_decl_line (41)
0x000010ca: DW_TAG_typedef
DW_AT_type (0x000010d5 "__int64_t")
DW_AT_name ("int64_t")
DW_AT_decl_file ("/usr/include/x86_64-linux-gnu/bits/stdint-intn.h")
DW_AT_decl_line (27)
0x000010d5: DW_TAG_typedef
DW_AT_type (0x00000acf "long int")
DW_AT_name ("__int64_t")
DW_AT_decl_file ("/usr/include/x86_64-linux-gnu/bits/types.h")
DW_AT_decl_line (44)
0x000010e0: DW_TAG_typedef
DW_AT_type (0x000010eb "__uint8_t")
DW_AT_name ("uint8_t")
DW_AT_decl_file ("/usr/include/x86_64-linux-gnu/bits/stdint-uintn.h")
DW_AT_decl_line (24)
0x000010eb: DW_TAG_typedef
DW_AT_type (0x000010f6 "unsigned char")
DW_AT_name ("__uint8_t")
DW_AT_decl_file ("/usr/include/x86_64-linux-gnu/bits/types.h")
DW_AT_decl_line (38)
0x000010f6: DW_TAG_base_type
DW_AT_name ("unsigned char")
DW_AT_encoding (DW_ATE_unsigned_char)
DW_AT_byte_size (0x01)
0x000010fd: DW_TAG_typedef
DW_AT_type (0x00001108 "__uint16_t")
DW_AT_name ("uint16_t")
DW_AT_decl_file ("/usr/include/x86_64-linux-gnu/bits/stdint-uintn.h")
DW_AT_decl_line (25)
0x00001108: DW_TAG_typedef
DW_AT_type (0x00001113 "unsigned short")
DW_AT_name ("__uint16_t")
DW_AT_decl_file ("/usr/include/x86_64-linux-gnu/bits/types.h")
DW_AT_decl_line (40)
0x00001113: DW_TAG_base_type
DW_AT_name ("unsigned short")
DW_AT_encoding (DW_ATE_unsigned)
DW_AT_byte_size (0x02)
0x0000111a: DW_TAG_typedef
DW_AT_type (0x00001125 "__uint32_t")
DW_AT_name ("uint32_t")
DW_AT_decl_file ("/usr/include/x86_64-linux-gnu/bits/stdint-uintn.h")
DW_AT_decl_line (26)
0x00001125: DW_TAG_typedef
DW_AT_type (0x00000e05 "unsigned int")
DW_AT_name ("__uint32_t")
DW_AT_decl_file ("/usr/include/x86_64-linux-gnu/bits/types.h")
DW_AT_decl_line (42)
0x00001130: DW_TAG_typedef
DW_AT_type (0x0000113b "__uint64_t")
DW_AT_name ("uint64_t")
DW_AT_decl_file ("/usr/include/x86_64-linux-gnu/bits/stdint-uintn.h")
DW_AT_decl_line (27)
0x0000113b: DW_TAG_typedef
DW_AT_type (0x000007ee "long unsigned int")
DW_AT_name ("__uint64_t")
DW_AT_decl_file ("/usr/include/x86_64-linux-gnu/bits/types.h")
DW_AT_decl_line (45)
0x00001146: DW_TAG_typedef
DW_AT_type (0x00001151 "__int_least8_t")
DW_AT_name ("int_least8_t")
DW_AT_decl_file ("/usr/include/stdint.h")
DW_AT_decl_line (43)
0x00001151: DW_TAG_typedef
DW_AT_type (0x00001085 "__int8_t")
DW_AT_name ("__int_least8_t")
DW_AT_decl_file ("/usr/include/x86_64-linux-gnu/bits/types.h")
DW_AT_decl_line (52)
0x0000115c: DW_TAG_typedef
DW_AT_type (0x00001167 "__int_least16_t")
DW_AT_name ("int_least16_t")
DW_AT_decl_file ("/usr/include/stdint.h")
DW_AT_decl_line (44)
0x00001167: DW_TAG_typedef
DW_AT_type (0x000010a2 "__int16_t")
DW_AT_name ("__int_least16_t")
DW_AT_decl_file ("/usr/include/x86_64-linux-gnu/bits/types.h")
DW_AT_decl_line (54)
0x00001172: DW_TAG_typedef
DW_AT_type (0x0000117d "__int_least32_t")
DW_AT_name ("int_least32_t")
DW_AT_decl_file ("/usr/include/stdint.h")
DW_AT_decl_line (45)
0x0000117d: DW_TAG_typedef
DW_AT_type (0x000010bf "__int32_t")
DW_AT_name ("__int_least32_t")
DW_AT_decl_file ("/usr/include/x86_64-linux-gnu/bits/types.h")
DW_AT_decl_line (56)
0x00001188: DW_TAG_typedef
DW_AT_type (0x00001193 "__int_least64_t")
DW_AT_name ("int_least64_t")
DW_AT_decl_file ("/usr/include/stdint.h")
DW_AT_decl_line (46)
0x00001193: DW_TAG_typedef
DW_AT_type (0x000010d5 "__int64_t")
DW_AT_name ("__int_least64_t")
DW_AT_decl_file ("/usr/include/x86_64-linux-gnu/bits/types.h")
DW_AT_decl_line (58)
0x0000119e: DW_TAG_typedef
DW_AT_type (0x000011a9 "__uint_least8_t")
DW_AT_name ("uint_least8_t")
DW_AT_decl_file ("/usr/include/stdint.h")
DW_AT_decl_line (49)
0x000011a9: DW_TAG_typedef
DW_AT_type (0x000010eb "__uint8_t")
DW_AT_name ("__uint_least8_t")
DW_AT_decl_file ("/usr/include/x86_64-linux-gnu/bits/types.h")
DW_AT_decl_line (53)
0x000011b4: DW_TAG_typedef
DW_AT_type (0x000011bf "__uint_least16_t")
DW_AT_name ("uint_least16_t")
DW_AT_decl_file ("/usr/include/stdint.h")
DW_AT_decl_line (50)
0x000011bf: DW_TAG_typedef
DW_AT_type (0x00001108 "__uint16_t")
DW_AT_name ("__uint_least16_t")
DW_AT_decl_file ("/usr/include/x86_64-linux-gnu/bits/types.h")
DW_AT_decl_line (55)
0x000011ca: DW_TAG_typedef
DW_AT_type (0x000011d5 "__uint_least32_t")
DW_AT_name ("uint_least32_t")
DW_AT_decl_file ("/usr/include/stdint.h")
DW_AT_decl_line (51)
0x000011d5: DW_TAG_typedef
DW_AT_type (0x00001125 "__uint32_t")
DW_AT_name ("__uint_least32_t")
DW_AT_decl_file ("/usr/include/x86_64-linux-gnu/bits/types.h")
DW_AT_decl_line (57)
0x000011e0: DW_TAG_typedef
DW_AT_type (0x000011eb "__uint_least64_t")
DW_AT_name ("uint_least64_t")
DW_AT_decl_file ("/usr/include/stdint.h")
DW_AT_decl_line (52)
0x000011eb: DW_TAG_typedef
DW_AT_type (0x0000113b "__uint64_t")
DW_AT_name ("__uint_least64_t")
DW_AT_decl_file ("/usr/include/x86_64-linux-gnu/bits/types.h")
DW_AT_decl_line (59)
0x000011f6: DW_TAG_typedef
DW_AT_type (0x00001090 "signed char")
DW_AT_name ("int_fast8_t")
DW_AT_decl_file ("/usr/include/stdint.h")
DW_AT_decl_line (58)
0x00001201: DW_TAG_typedef
DW_AT_type (0x00000acf "long int")
DW_AT_name ("int_fast16_t")
DW_AT_decl_file ("/usr/include/stdint.h")
DW_AT_decl_line (60)
0x0000120c: DW_TAG_typedef
DW_AT_type (0x00000acf "long int")
DW_AT_name ("int_fast32_t")
DW_AT_decl_file ("/usr/include/stdint.h")
DW_AT_decl_line (61)
0x00001217: DW_TAG_typedef
DW_AT_type (0x00000acf "long int")
DW_AT_name ("int_fast64_t")
DW_AT_decl_file ("/usr/include/stdint.h")
DW_AT_decl_line (62)
0x00001222: DW_TAG_typedef
DW_AT_type (0x000010f6 "unsigned char")
DW_AT_name ("uint_fast8_t")
DW_AT_decl_file ("/usr/include/stdint.h")
DW_AT_decl_line (71)
0x0000122d: DW_TAG_typedef
DW_AT_type (0x000007ee "long unsigned int")
DW_AT_name ("uint_fast16_t")
DW_AT_decl_file ("/usr/include/stdint.h")
DW_AT_decl_line (73)
0x00001238: DW_TAG_typedef
DW_AT_type (0x000007ee "long unsigned int")
DW_AT_name ("uint_fast32_t")
DW_AT_decl_file ("/usr/include/stdint.h")
DW_AT_decl_line (74)
0x00001243: DW_TAG_typedef
DW_AT_type (0x000007ee "long unsigned int")
DW_AT_name ("uint_fast64_t")
DW_AT_decl_file ("/usr/include/stdint.h")
DW_AT_decl_line (75)
0x0000124e: DW_TAG_typedef
DW_AT_type (0x00000acf "long int")
DW_AT_name ("intptr_t")
DW_AT_decl_file ("/usr/include/stdint.h")
DW_AT_decl_line (87)
0x00001259: DW_TAG_typedef
DW_AT_type (0x000007ee "long unsigned int")
DW_AT_name ("uintptr_t")
DW_AT_decl_file ("/usr/include/stdint.h")
DW_AT_decl_line (90)
0x00001264: DW_TAG_typedef
DW_AT_type (0x0000126f "__intmax_t")
DW_AT_name ("intmax_t")
DW_AT_decl_file ("/usr/include/stdint.h")
DW_AT_decl_line (101)
0x0000126f: DW_TAG_typedef
DW_AT_type (0x00000acf "long int")
DW_AT_name ("__intmax_t")
DW_AT_decl_file ("/usr/include/x86_64-linux-gnu/bits/types.h")
DW_AT_decl_line (72)
0x0000127a: DW_TAG_typedef
DW_AT_type (0x00001285 "__uintmax_t")
DW_AT_name ("uintmax_t")
DW_AT_decl_file ("/usr/include/stdint.h")
DW_AT_decl_line (102)
0x00001285: DW_TAG_typedef
DW_AT_type (0x000007ee "long unsigned int")
DW_AT_name ("__uintmax_t")
DW_AT_decl_file ("/usr/include/x86_64-linux-gnu/bits/types.h")
DW_AT_decl_line (73)
0x00001290: DW_TAG_subprogram
DW_AT_name ("memcpy")
DW_AT_decl_file ("/usr/include/string.h")
DW_AT_decl_line (42)
DW_AT_type (0x0000076a "*")
DW_AT_declaration (true)
DW_AT_external (true)
0x0000129b: DW_TAG_formal_parameter
DW_AT_type (0x00000a61 "restrict *")
0x000012a0: DW_TAG_formal_parameter
DW_AT_type (0x00000a87 "restrict const *")
0x000012a5: DW_TAG_formal_parameter
DW_AT_type (0x000007e3 "size_t")
0x000012aa: NULL
0x000012ab: DW_TAG_subprogram
DW_AT_name ("memmove")
DW_AT_decl_file ("/usr/include/string.h")
DW_AT_decl_line (46)
DW_AT_type (0x0000076a "*")
DW_AT_declaration (true)
DW_AT_external (true)
0x000012b6: DW_TAG_formal_parameter
DW_AT_type (0x0000076a "*")
0x000012bb: DW_TAG_formal_parameter
DW_AT_type (0x00000a8c "const *")
0x000012c0: DW_TAG_formal_parameter
DW_AT_type (0x000007e3 "size_t")
0x000012c5: NULL
0x000012c6: DW_TAG_subprogram
DW_AT_name ("strcpy")
DW_AT_decl_file ("/usr/include/string.h")
DW_AT_decl_line (121)
DW_AT_type (0x00000840 "char*")
DW_AT_declaration (true)
DW_AT_external (true)
0x000012d1: DW_TAG_formal_parameter
DW_AT_type (0x0000083b "restrict char*")
0x000012d6: DW_TAG_formal_parameter
DW_AT_type (0x00000885 "restrict const char*")
0x000012db: NULL
0x000012dc: DW_TAG_subprogram
DW_AT_name ("strncpy")
DW_AT_decl_file ("/usr/include/string.h")
DW_AT_decl_line (124)
DW_AT_type (0x00000840 "char*")
DW_AT_declaration (true)
DW_AT_external (true)
0x000012e7: DW_TAG_formal_parameter
DW_AT_type (0x0000083b "restrict char*")
0x000012ec: DW_TAG_formal_parameter
DW_AT_type (0x00000885 "restrict const char*")
0x000012f1: DW_TAG_formal_parameter
DW_AT_type (0x000007e3 "size_t")
0x000012f6: NULL
0x000012f7: DW_TAG_subprogram
DW_AT_name ("strcat")
DW_AT_decl_file ("/usr/include/string.h")
DW_AT_decl_line (129)
DW_AT_type (0x00000840 "char*")
DW_AT_declaration (true)
DW_AT_external (true)
0x00001302: DW_TAG_formal_parameter
DW_AT_type (0x0000083b "restrict char*")
0x00001307: DW_TAG_formal_parameter
DW_AT_type (0x00000885 "restrict const char*")
0x0000130c: NULL
0x0000130d: DW_TAG_subprogram
DW_AT_name ("strncat")
DW_AT_decl_file ("/usr/include/string.h")
DW_AT_decl_line (132)
DW_AT_type (0x00000840 "char*")
DW_AT_declaration (true)
DW_AT_external (true)
0x00001318: DW_TAG_formal_parameter
DW_AT_type (0x0000083b "restrict char*")
0x0000131d: DW_TAG_formal_parameter
DW_AT_type (0x00000885 "restrict const char*")
0x00001322: DW_TAG_formal_parameter
DW_AT_type (0x000007e3 "size_t")
0x00001327: NULL
0x00001328: DW_TAG_subprogram
DW_AT_name ("memcmp")
DW_AT_decl_file ("/usr/include/string.h")
DW_AT_decl_line (63)
DW_AT_type (0x00000806 "int")
DW_AT_declaration (true)
DW_AT_external (true)
0x00001333: DW_TAG_formal_parameter
DW_AT_type (0x00000a8c "const *")
0x00001338: DW_TAG_formal_parameter
DW_AT_type (0x00000a8c "const *")
0x0000133d: DW_TAG_formal_parameter
DW_AT_type (0x000007e3 "size_t")
0x00001342: NULL
0x00001343: DW_TAG_subprogram
DW_AT_name ("strcmp")
DW_AT_decl_file ("/usr/include/string.h")
DW_AT_decl_line (136)
DW_AT_type (0x00000806 "int")
DW_AT_declaration (true)
DW_AT_external (true)
0x0000134e: DW_TAG_formal_parameter
DW_AT_type (0x0000088a "const char*")
0x00001353: DW_TAG_formal_parameter
DW_AT_type (0x0000088a "const char*")
0x00001358: NULL
0x00001359: DW_TAG_subprogram
DW_AT_name ("strncmp")
DW_AT_decl_file ("/usr/include/string.h")
DW_AT_decl_line (139)
DW_AT_type (0x00000806 "int")
DW_AT_declaration (true)
DW_AT_external (true)
0x00001364: DW_TAG_formal_parameter
DW_AT_type (0x0000088a "const char*")
0x00001369: DW_TAG_formal_parameter
DW_AT_type (0x0000088a "const char*")
0x0000136e: DW_TAG_formal_parameter
DW_AT_type (0x000007e3 "size_t")
0x00001373: NULL
0x00001374: DW_TAG_subprogram
DW_AT_name ("strcoll")
DW_AT_decl_file ("/usr/include/string.h")
DW_AT_decl_line (143)
DW_AT_type (0x00000806 "int")
DW_AT_declaration (true)
DW_AT_external (true)
0x0000137f: DW_TAG_formal_parameter
DW_AT_type (0x0000088a "const char*")
0x00001384: DW_TAG_formal_parameter
DW_AT_type (0x0000088a "const char*")
0x00001389: NULL
0x0000138a: DW_TAG_subprogram
DW_AT_name ("strxfrm")
DW_AT_decl_file ("/usr/include/string.h")
DW_AT_decl_line (146)
DW_AT_type (0x000007e3 "size_t")
DW_AT_declaration (true)
DW_AT_external (true)
0x00001395: DW_TAG_formal_parameter
DW_AT_type (0x0000083b "restrict char*")
0x0000139a: DW_TAG_formal_parameter
DW_AT_type (0x00000885 "restrict const char*")
0x0000139f: DW_TAG_formal_parameter
DW_AT_type (0x000007e3 "size_t")
0x000013a4: NULL
0x000013a5: DW_TAG_subprogram
DW_AT_linkage_name ("_Z6memchrUa9enable_ifIXLb1EEEPvim")
DW_AT_name ("memchr")
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/string.h")
DW_AT_decl_line (98)
DW_AT_type (0x0000076a "*")
DW_AT_declaration (true)
DW_AT_external (true)
0x000013b4: DW_TAG_formal_parameter
DW_AT_type (0x0000076a "*")
0x000013b9: DW_TAG_formal_parameter
DW_AT_type (0x00000806 "int")
0x000013be: DW_TAG_formal_parameter
DW_AT_type (0x000007e3 "size_t")
0x000013c3: NULL
0x000013c4: DW_TAG_subprogram
DW_AT_linkage_name ("_Z6strchrUa9enable_ifIXLb1EEEPci")
DW_AT_name ("strchr")
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/string.h")
DW_AT_decl_line (77)
DW_AT_type (0x00000840 "char*")
DW_AT_declaration (true)
DW_AT_external (true)
0x000013d3: DW_TAG_formal_parameter
DW_AT_type (0x00000840 "char*")
0x000013d8: DW_TAG_formal_parameter
DW_AT_type (0x00000806 "int")
0x000013dd: NULL
0x000013de: DW_TAG_subprogram
DW_AT_name ("strcspn")
DW_AT_decl_file ("/usr/include/string.h")
DW_AT_decl_line (272)
DW_AT_type (0x000007e3 "size_t")
DW_AT_declaration (true)
DW_AT_external (true)
0x000013ea: DW_TAG_formal_parameter
DW_AT_type (0x0000088a "const char*")
0x000013ef: DW_TAG_formal_parameter
DW_AT_type (0x0000088a "const char*")
0x000013f4: NULL
0x000013f5: DW_TAG_subprogram
DW_AT_linkage_name ("_Z7strpbrkUa9enable_ifIXLb1EEEPcPKc")
DW_AT_name ("strpbrk")
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/string.h")
DW_AT_decl_line (84)
DW_AT_type (0x00000840 "char*")
DW_AT_declaration (true)
DW_AT_external (true)
0x00001404: DW_TAG_formal_parameter
DW_AT_type (0x00000840 "char*")
0x00001409: DW_TAG_formal_parameter
DW_AT_type (0x0000088a "const char*")
0x0000140e: NULL
0x0000140f: DW_TAG_subprogram
DW_AT_linkage_name ("_Z7strrchrUa9enable_ifIXLb1EEEPci")
DW_AT_name ("strrchr")
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/string.h")
DW_AT_decl_line (91)
DW_AT_type (0x00000840 "char*")
DW_AT_declaration (true)
DW_AT_external (true)
0x0000141e: DW_TAG_formal_parameter
DW_AT_type (0x00000840 "char*")
0x00001423: DW_TAG_formal_parameter
DW_AT_type (0x00000806 "int")
0x00001428: NULL
0x00001429: DW_TAG_subprogram
DW_AT_name ("strspn")
DW_AT_decl_file ("/usr/include/string.h")
DW_AT_decl_line (276)
DW_AT_type (0x000007e3 "size_t")
DW_AT_declaration (true)
DW_AT_external (true)
0x00001435: DW_TAG_formal_parameter
DW_AT_type (0x0000088a "const char*")
0x0000143a: DW_TAG_formal_parameter
DW_AT_type (0x0000088a "const char*")
0x0000143f: NULL
0x00001440: DW_TAG_subprogram
DW_AT_linkage_name ("_Z6strstrUa9enable_ifIXLb1EEEPcPKc")
DW_AT_name ("strstr")
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/string.h")
DW_AT_decl_line (105)
DW_AT_type (0x00000840 "char*")
DW_AT_declaration (true)
DW_AT_external (true)
0x0000144f: DW_TAG_formal_parameter
DW_AT_type (0x00000840 "char*")
0x00001454: DW_TAG_formal_parameter
DW_AT_type (0x0000088a "const char*")
0x00001459: NULL
0x0000145a: DW_TAG_subprogram
DW_AT_name ("strtok")
DW_AT_decl_file ("/usr/include/string.h")
DW_AT_decl_line (335)
DW_AT_type (0x00000840 "char*")
DW_AT_declaration (true)
DW_AT_external (true)
0x00001466: DW_TAG_formal_parameter
DW_AT_type (0x0000083b "restrict char*")
0x0000146b: DW_TAG_formal_parameter
DW_AT_type (0x00000885 "restrict const char*")
0x00001470: NULL
0x00001471: DW_TAG_subprogram
DW_AT_name ("memset")
DW_AT_decl_file ("/usr/include/string.h")
DW_AT_decl_line (60)
DW_AT_type (0x0000076a "*")
DW_AT_declaration (true)
DW_AT_external (true)
0x0000147c: DW_TAG_formal_parameter
DW_AT_type (0x0000076a "*")
0x00001481: DW_TAG_formal_parameter
DW_AT_type (0x00000806 "int")
0x00001486: DW_TAG_formal_parameter
DW_AT_type (0x000007e3 "size_t")
0x0000148b: NULL
0x0000148c: DW_TAG_subprogram
DW_AT_name ("strerror")
DW_AT_decl_file ("/usr/include/string.h")
DW_AT_decl_line (396)
DW_AT_type (0x00000840 "char*")
DW_AT_declaration (true)
DW_AT_external (true)
0x00001498: DW_TAG_formal_parameter
DW_AT_type (0x00000806 "int")
0x0000149d: NULL
0x0000149e: DW_TAG_subprogram
DW_AT_name ("strlen")
DW_AT_decl_file ("/usr/include/string.h")
DW_AT_decl_line (384)
DW_AT_type (0x000007e3 "size_t")
DW_AT_declaration (true)
DW_AT_external (true)
0x000014aa: DW_TAG_formal_parameter
DW_AT_type (0x0000088a "const char*")
0x000014af: NULL
0x000014b0: DW_TAG_imported_module
DW_AT_decl_file ("/home/modocache/Source/tmp/coro02242020/repro.cpp")
DW_AT_decl_line (4)
DW_AT_import (0x000000c2)
0x000014b7: DW_TAG_subprogram
DW_AT_low_pc (0x0000000000201b10)
DW_AT_high_pc (0x000000000020200a)
DW_AT_frame_base (DW_OP_reg6 RBP)
DW_AT_linkage_name ("_Z3foov")
DW_AT_name ("foo")
DW_AT_decl_file ("/home/modocache/Source/tmp/coro02242020/repro.cpp")
DW_AT_decl_line (23)
DW_AT_type (0x0000002a "coro")
DW_AT_external (true)
0x000014d4: DW_TAG_variable
DW_AT_location (DW_OP_fbreg -8)
DW_AT_name ("__coro_gro")
DW_AT_decl_file ("/home/modocache/Source/tmp/coro02242020/repro.cpp")
DW_AT_decl_line (23)
DW_AT_type (0x0000002a "coro")
0x000014e2: DW_TAG_variable
DW_AT_location (DW_OP_fbreg -16)
DW_AT_name ("__promise")
DW_AT_decl_file ("/home/modocache/Source/tmp/coro02242020/repro.cpp")
DW_AT_decl_line (23)
DW_AT_type (0x0000031c "promise_type")
0x000014f0: DW_TAG_lexical_block
DW_AT_low_pc (0x0000000000201ccf)
DW_AT_high_pc (0x0000000000201ee2)
0x000014fd: DW_TAG_variable
DW_AT_location (DW_OP_fbreg -52)
DW_AT_name ("i")
DW_AT_decl_file ("/home/modocache/Source/tmp/coro02242020/repro.cpp")
DW_AT_decl_line (24)
DW_AT_type (0x00000806 "int")
0x0000150b: DW_TAG_variable
DW_AT_location (DW_OP_fbreg -76)
DW_AT_name ("j")
DW_AT_decl_file ("/home/modocache/Source/tmp/coro02242020/repro.cpp")
DW_AT_decl_line (32)
DW_AT_type (0x00000806 "int")
0x0000151a: NULL
0x0000151b: NULL
0x0000151c: DW_TAG_subprogram
DW_AT_low_pc (0x0000000000202ae0)
DW_AT_high_pc (0x0000000000202b18)
DW_AT_frame_base (DW_OP_reg6 RBP)
DW_AT_object_pointer (0x00001533)
DW_AT_specification (0x00000048 "_ZN4coro12promise_type17get_return_objectEv")
0x00001533: DW_TAG_formal_parameter
DW_AT_location (DW_OP_fbreg -16)
DW_AT_name ("this")
DW_AT_type (0x0000183d "promise_type*")
DW_AT_artificial (true)
0x0000153f: DW_TAG_variable
DW_AT_location (DW_OP_fbreg -24)
DW_AT_name ("handle")
DW_AT_decl_file ("/home/modocache/Source/tmp/coro02242020/repro.cpp")
DW_AT_decl_line (9)
DW_AT_type (0x000000cc "coroutine_handle<coro::promise_type>")
0x0000154d: NULL
0x0000154e: DW_TAG_subprogram
DW_AT_low_pc (0x0000000000202b20)
DW_AT_high_pc (0x0000000000202b2a)
DW_AT_frame_base (DW_OP_reg6 RBP)
DW_AT_object_pointer (0x00001565)
DW_AT_specification (0x0000005d "_ZN4coro12promise_type15initial_suspendEv")
0x00001565: DW_TAG_formal_parameter
DW_AT_location (DW_OP_fbreg -8)
DW_AT_name ("this")
DW_AT_type (0x0000183d "promise_type*")
DW_AT_artificial (true)
0x00001571: NULL
0x00001572: DW_TAG_subprogram
DW_AT_low_pc (0x0000000000202b30)
DW_AT_high_pc (0x0000000000202b41)
DW_AT_frame_base (DW_OP_reg6 RBP)
DW_AT_object_pointer (0x00001589)
DW_AT_specification (0x0000027f "_ZNKSt12experimental13coroutines_v113suspend_never11await_readyEv")
0x00001589: DW_TAG_formal_parameter
DW_AT_location (DW_OP_fbreg -8)
DW_AT_name ("this")
DW_AT_type (0x00001842 "const suspend_never*")
DW_AT_artificial (true)
0x00001595: NULL
0x00001596: DW_TAG_subprogram
DW_AT_low_pc (0x0000000000202b50)
DW_AT_high_pc (0x0000000000202b5e)
DW_AT_frame_base (DW_OP_reg6 RBP)
DW_AT_object_pointer (0x000015ad)
DW_AT_specification (0x00000295 "_ZNKSt12experimental13coroutines_v113suspend_never13await_suspendENS0_16coroutine_handleIvEE")
0x000015ad: DW_TAG_formal_parameter
DW_AT_location (DW_OP_fbreg -16)
DW_AT_name ("this")
DW_AT_type (0x00001842 "const suspend_never*")
DW_AT_artificial (true)
0x000015b9: DW_TAG_formal_parameter
DW_AT_location (DW_OP_fbreg -8)
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/experimental/coroutine")
DW_AT_decl_line (304)
DW_AT_type (0x00000165 "coroutine_handle<void>")
0x000015c4: NULL
0x000015c5: DW_TAG_subprogram
DW_AT_low_pc (0x0000000000202b60)
DW_AT_high_pc (0x0000000000202b87)
DW_AT_frame_base (DW_OP_reg6 RBP)
DW_AT_specification (0x0000010d "_ZNSt12experimental13coroutines_v116coroutine_handleIN4coro12promise_typeEE12from_addressEPv")
0x000015d8: DW_TAG_formal_parameter
DW_AT_location (DW_OP_fbreg -16)
DW_AT_name ("__addr")
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/experimental/coroutine")
DW_AT_decl_line (220)
DW_AT_type (0x0000076a "*")
0x000015e6: DW_TAG_variable
DW_AT_location (DW_OP_fbreg -8)
DW_AT_name ("__tmp")
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/experimental/coroutine")
DW_AT_decl_line (221)
DW_AT_type (0x000000cc "coroutine_handle<coro::promise_type>")
0x000015f4: NULL
0x000015f5: DW_TAG_subprogram
DW_AT_low_pc (0x0000000000202b90)
DW_AT_high_pc (0x0000000000202b9a)
DW_AT_frame_base (DW_OP_reg6 RBP)
DW_AT_object_pointer (0x0000160c)
DW_AT_specification (0x000002ac "_ZNKSt12experimental13coroutines_v113suspend_never12await_resumeEv")
0x0000160c: DW_TAG_formal_parameter
DW_AT_location (DW_OP_fbreg -8)
DW_AT_name ("this")
DW_AT_type (0x00001842 "const suspend_never*")
DW_AT_artificial (true)
0x00001618: NULL
0x00001619: DW_TAG_pointer_type
DW_AT_type (0x0000161e "const suspend_always")
0x0000161e: DW_TAG_const_type
DW_AT_type (0x000002bf "suspend_always")
0x00001623: DW_TAG_subprogram
DW_AT_low_pc (0x0000000000202ba0)
DW_AT_high_pc (0x0000000000202bb1)
DW_AT_frame_base (DW_OP_reg6 RBP)
DW_AT_object_pointer (0x0000163a)
DW_AT_specification (0x000002c9 "_ZNKSt12experimental13coroutines_v114suspend_always11await_readyEv")
0x0000163a: DW_TAG_formal_parameter
DW_AT_location (DW_OP_fbreg -8)
DW_AT_name ("this")
DW_AT_type (0x00001847 "const suspend_always*")
DW_AT_artificial (true)
0x00001646: NULL
0x00001647: DW_TAG_subprogram
DW_AT_low_pc (0x0000000000202bc0)
DW_AT_high_pc (0x0000000000202bce)
DW_AT_frame_base (DW_OP_reg6 RBP)
DW_AT_object_pointer (0x0000165e)
DW_AT_specification (0x000002df "_ZNKSt12experimental13coroutines_v114suspend_always13await_suspendENS0_16coroutine_handleIvEE")
0x0000165e: DW_TAG_formal_parameter
DW_AT_location (DW_OP_fbreg -16)
DW_AT_name ("this")
DW_AT_type (0x00001847 "const suspend_always*")
DW_AT_artificial (true)
0x0000166a: DW_TAG_formal_parameter
DW_AT_location (DW_OP_fbreg -8)
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/experimental/coroutine")
DW_AT_decl_line (313)
DW_AT_type (0x00000165 "coroutine_handle<void>")
0x00001675: NULL
0x00001676: DW_TAG_subprogram
DW_AT_low_pc (0x0000000000202bd0)
DW_AT_high_pc (0x0000000000202bda)
DW_AT_frame_base (DW_OP_reg6 RBP)
DW_AT_object_pointer (0x0000168d)
DW_AT_specification (0x000002f6 "_ZNKSt12experimental13coroutines_v114suspend_always12await_resumeEv")
0x0000168d: DW_TAG_formal_parameter
DW_AT_location (DW_OP_fbreg -8)
DW_AT_name ("this")
DW_AT_type (0x00001847 "const suspend_always*")
DW_AT_artificial (true)
0x00001699: NULL
0x0000169a: DW_TAG_subprogram
DW_AT_low_pc (0x0000000000202be0)
DW_AT_high_pc (0x0000000000202bea)
DW_AT_frame_base (DW_OP_reg6 RBP)
DW_AT_object_pointer (0x000016b1)
DW_AT_specification (0x00000087 "_ZN4coro12promise_type11return_voidEv")
0x000016b1: DW_TAG_formal_parameter
DW_AT_location (DW_OP_fbreg -8)
DW_AT_name ("this")
DW_AT_type (0x0000183d "promise_type*")
DW_AT_artificial (true)
0x000016bd: NULL
0x000016be: DW_TAG_subprogram
DW_AT_low_pc (0x0000000000202bf0)
DW_AT_high_pc (0x0000000000202bfa)
DW_AT_frame_base (DW_OP_reg6 RBP)
DW_AT_object_pointer (0x000016d5)
DW_AT_specification (0x00000072 "_ZN4coro12promise_type13final_suspendEv")
0x000016d5: DW_TAG_formal_parameter
DW_AT_location (DW_OP_fbreg -8)
DW_AT_name ("this")
DW_AT_type (0x0000183d "promise_type*")
DW_AT_artificial (true)
0x000016e1: NULL
0x000016e2: DW_TAG_subprogram
DW_AT_low_pc (0x0000000000202010)
DW_AT_high_pc (0x0000000000202041)
DW_AT_frame_base (DW_OP_reg6 RBP)
DW_AT_name ("main")
DW_AT_decl_file ("/home/modocache/Source/tmp/coro02242020/repro.cpp")
DW_AT_decl_line (53)
DW_AT_type (0x00000806 "int")
DW_AT_external (true)
0x000016fb: DW_TAG_variable
DW_AT_location (DW_OP_fbreg -8)
DW_AT_name ("c")
DW_AT_decl_file ("/home/modocache/Source/tmp/coro02242020/repro.cpp")
DW_AT_decl_line (54)
DW_AT_type (0x0000002a "coro")
0x00001709: NULL
0x0000170a: DW_TAG_subprogram
DW_AT_low_pc (0x0000000000202c00)
DW_AT_high_pc (0x0000000000202c1e)
DW_AT_frame_base (DW_OP_reg6 RBP)
DW_AT_object_pointer (0x00001721)
DW_AT_specification (0x000001f4 "_ZNSt12experimental13coroutines_v116coroutine_handleIvE6resumeEv")
0x00001721: DW_TAG_formal_parameter
DW_AT_location (DW_OP_fbreg -8)
DW_AT_name ("this")
DW_AT_type (0x0000184c "coroutine_handle<void>*")
DW_AT_artificial (true)
0x0000172d: NULL
0x0000172e: DW_TAG_subprogram
DW_AT_low_pc (0x0000000000202c20)
DW_AT_high_pc (0x0000000000202c52)
DW_AT_frame_base (DW_OP_reg6 RBP)
DW_AT_specification (0x00000139 "_ZNSt12experimental13coroutines_v116coroutine_handleIN4coro12promise_typeEE12from_promiseERS3_")
0x00001741: DW_TAG_formal_parameter
DW_AT_location (DW_OP_fbreg -16)
DW_AT_name ("__promise")
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/experimental/coroutine")
DW_AT_decl_line (250)
DW_AT_type (0x00000795 "promise_type&")
0x0000174f: DW_TAG_variable
DW_AT_location (DW_OP_fbreg -8)
DW_AT_name ("__tmp")
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/experimental/coroutine")
DW_AT_decl_line (252)
DW_AT_type (0x000000cc "coroutine_handle<coro::promise_type>")
0x0000175d: NULL
0x0000175e: DW_TAG_subprogram
DW_AT_low_pc (0x0000000000202c60)
DW_AT_high_pc (0x0000000000202c79)
DW_AT_frame_base (DW_OP_reg6 RBP)
DW_AT_object_pointer (0x00001779)
DW_AT_linkage_name ("_ZN4coroC2ENSt12experimental13coroutines_v116coroutine_handleINS_12promise_typeEEE")
DW_AT_specification (0x000000aa "coro")
0x00001779: DW_TAG_formal_parameter
DW_AT_location (DW_OP_fbreg -16)
DW_AT_name ("this")
DW_AT_type (0x00001851 "coro*")
DW_AT_artificial (true)
0x00001785: DW_TAG_formal_parameter
DW_AT_location (DW_OP_fbreg -8)
DW_AT_name ("handle")
DW_AT_decl_file ("/home/modocache/Source/tmp/coro02242020/repro.cpp")
DW_AT_decl_line (19)
DW_AT_type (0x000000cc "coroutine_handle<coro::promise_type>")
0x00001793: NULL
0x00001794: DW_TAG_subprogram
DW_AT_low_pc (0x0000000000202c80)
DW_AT_high_pc (0x0000000000202c9e)
DW_AT_frame_base (DW_OP_reg6 RBP)
DW_AT_object_pointer (0x000017b1)
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/experimental/coroutine")
DW_AT_decl_line (196)
DW_AT_linkage_name ("_ZNSt12experimental13coroutines_v116coroutine_handleIN4coro12promise_typeEEC2Ev")
DW_AT_specification (0x00000158 "coroutine_handle")
0x000017b1: DW_TAG_formal_parameter
DW_AT_location (DW_OP_fbreg -8)
DW_AT_name ("this")
DW_AT_type (0x00001856 "coroutine_handle<coro::promise_type>*")
DW_AT_artificial (true)
0x000017bd: NULL
0x000017be: DW_TAG_subprogram
DW_AT_low_pc (0x0000000000202cb0)
DW_AT_high_pc (0x0000000000202cc5)
DW_AT_frame_base (DW_OP_reg6 RBP)
DW_AT_object_pointer (0x000017d9)
DW_AT_linkage_name ("_ZNSt12experimental13coroutines_v116coroutine_handleIvEC2Ev")
DW_AT_specification (0x0000017a "coroutine_handle")
0x000017d9: DW_TAG_formal_parameter
DW_AT_location (DW_OP_fbreg -8)
DW_AT_name ("this")
DW_AT_type (0x0000184c "coroutine_handle<void>*")
DW_AT_artificial (true)
0x000017e5: NULL
0x000017e6: DW_TAG_subprogram
DW_AT_low_pc (0x0000000000202060)
DW_AT_high_pc (0x00000000002023c1)
DW_AT_frame_base (DW_OP_reg6 RBP)
DW_AT_linkage_name ("_Z3foov")
DW_AT_name ("foo")
DW_AT_decl_file ("/home/modocache/Source/tmp/coro02242020/repro.cpp")
DW_AT_decl_line (23)
DW_AT_type (0x0000002a "coro")
DW_AT_external (true)
0x00001803: DW_TAG_subprogram
DW_AT_low_pc (0x00000000002023d0)
DW_AT_high_pc (0x0000000000202758)
DW_AT_frame_base (DW_OP_reg6 RBP)
DW_AT_linkage_name ("_Z3foov")
DW_AT_name ("foo")
DW_AT_decl_file ("/home/modocache/Source/tmp/coro02242020/repro.cpp")
DW_AT_decl_line (23)
DW_AT_type (0x0000002a "coro")
DW_AT_external (true)
0x00001820: DW_TAG_subprogram
DW_AT_low_pc (0x0000000000202760)
DW_AT_high_pc (0x0000000000202ae0)
DW_AT_frame_base (DW_OP_reg6 RBP)
DW_AT_linkage_name ("_Z3foov")
DW_AT_name ("foo")
DW_AT_decl_file ("/home/modocache/Source/tmp/coro02242020/repro.cpp")
DW_AT_decl_line (23)
DW_AT_type (0x0000002a "coro")
DW_AT_external (true)
0x0000183d: DW_TAG_pointer_type
DW_AT_type (0x0000003f "promise_type")
0x00001842: DW_TAG_pointer_type
DW_AT_type (0x000007a4 "const suspend_never")
0x00001847: DW_TAG_pointer_type
DW_AT_type (0x0000161e "const suspend_always")
0x0000184c: DW_TAG_pointer_type
DW_AT_type (0x00000165 "coroutine_handle<void>")
0x00001851: DW_TAG_pointer_type
DW_AT_type (0x0000002a "coro")
0x00001856: DW_TAG_pointer_type
DW_AT_type (0x000000cc "coroutine_handle<coro::promise_type>")
0x0000185b: NULL
; ModuleID = '/home/modocache/Source/tmp/coro02242020/repro.cpp'
source_filename = "/home/modocache/Source/tmp/coro02242020/repro.cpp"
target datalayout = "e-m:e-p270:32:32-p271:32:32-p272:64:64-i64:64-f80:128-n8:16:32:64-S128"
target triple = "x86_64-unknown-linux-gnu"
%"struct.coro::promise_type" = type { i8 }
%_Z3foov.Frame = type { void (%_Z3foov.Frame*)*, void (%_Z3foov.Frame*)*, %"struct.coro::promise_type", i2, %"struct.std::experimental::coroutines_v1::suspend_never", %"class.std::experimental::coroutines_v1::coroutine_handle.0", %"class.std::experimental::coroutines_v1::coroutine_handle", i32, %"struct.std::experimental::coroutines_v1::suspend_always", %"class.std::experimental::coroutines_v1::coroutine_handle.0", %"class.std::experimental::coroutines_v1::coroutine_handle", i32, %"struct.std::experimental::coroutines_v1::suspend_always", %"class.std::experimental::coroutines_v1::coroutine_handle.0", %"class.std::experimental::coroutines_v1::coroutine_handle", %"struct.std::experimental::coroutines_v1::suspend_never", %"class.std::experimental::coroutines_v1::coroutine_handle.0", %"class.std::experimental::coroutines_v1::coroutine_handle" }
%"struct.std::experimental::coroutines_v1::suspend_always" = type { i8 }
%"struct.std::experimental::coroutines_v1::suspend_never" = type { i8 }
%"class.std::experimental::coroutines_v1::coroutine_handle.0" = type { i8* }
%"class.std::experimental::coroutines_v1::coroutine_handle" = type { %"class.std::experimental::coroutines_v1::coroutine_handle.0" }
%struct.coro = type { %"class.std::experimental::coroutines_v1::coroutine_handle" }
$_ZN4coro12promise_type17get_return_objectEv = comdat any
$_ZN4coro12promise_type15initial_suspendEv = comdat any
$_ZNKSt12experimental13coroutines_v113suspend_never11await_readyEv = comdat any
$_ZNKSt12experimental13coroutines_v113suspend_never13await_suspendENS0_16coroutine_handleIvEE = comdat any
$_ZNSt12experimental13coroutines_v116coroutine_handleIN4coro12promise_typeEE12from_addressEPv = comdat any
$_ZNKSt12experimental13coroutines_v113suspend_never12await_resumeEv = comdat any
$_ZNKSt12experimental13coroutines_v114suspend_always11await_readyEv = comdat any
$_ZNKSt12experimental13coroutines_v114suspend_always13await_suspendENS0_16coroutine_handleIvEE = comdat any
$_ZNKSt12experimental13coroutines_v114suspend_always12await_resumeEv = comdat any
$_ZN4coro12promise_type11return_voidEv = comdat any
$_ZN4coro12promise_type13final_suspendEv = comdat any
$_ZNSt12experimental13coroutines_v116coroutine_handleIvE6resumeEv = comdat any
$_ZNSt12experimental13coroutines_v116coroutine_handleIN4coro12promise_typeEE12from_promiseERS3_ = comdat any
$_ZN4coroC2ENSt12experimental13coroutines_v116coroutine_handleINS_12promise_typeEEE = comdat any
$_ZNSt12experimental13coroutines_v116coroutine_handleIN4coro12promise_typeEEC2Ev = comdat any
$_ZNSt3__19addressofIN4coro12promise_typeEEEPT_RS3_ = comdat any
$_ZNSt12experimental13coroutines_v116coroutine_handleIvEC2Ev = comdat any
@__const._Z3foov.__promise = private unnamed_addr constant %"struct.coro::promise_type" undef, align 1
@.str = private unnamed_addr constant [4 x i8] c"%d\0A\00", align 1
@.str.1 = private unnamed_addr constant [8 x i8] c"%d, %d\0A\00", align 1
@_Z3foov.resumers = private constant [3 x void (%_Z3foov.Frame*)*] [void (%_Z3foov.Frame*)* @_Z3foov.resume, void (%_Z3foov.Frame*)* @_Z3foov.destroy, void (%_Z3foov.Frame*)* @_Z3foov.cleanup]
; Function Attrs: noinline nounwind optnone uwtable
define dso_local i8* @_Z3foov() #0 !dbg !648 {
entry:
%retval = alloca %struct.coro, align 8
%gro.active = alloca i1, align 1
%0 = alloca %"struct.coro::promise_type", align 1
%1 = alloca %"struct.std::experimental::coroutines_v1::suspend_never", align 1
%undef.agg.tmp = alloca %"struct.std::experimental::coroutines_v1::suspend_never", align 1
%agg.tmp = alloca %"class.std::experimental::coroutines_v1::coroutine_handle.0", align 8
%ref.tmp5 = alloca %"class.std::experimental::coroutines_v1::coroutine_handle", align 8
%i = alloca i32, align 4
%ref.tmp11 = alloca %"struct.std::experimental::coroutines_v1::suspend_always", align 1
%agg.tmp13 = alloca %"class.std::experimental::coroutines_v1::coroutine_handle.0", align 8
%ref.tmp14 = alloca %"class.std::experimental::coroutines_v1::coroutine_handle", align 8
%j = alloca i32, align 4
%ref.tmp22 = alloca %"struct.std::experimental::coroutines_v1::suspend_always", align 1
%agg.tmp24 = alloca %"class.std::experimental::coroutines_v1::coroutine_handle.0", align 8
%ref.tmp25 = alloca %"class.std::experimental::coroutines_v1::coroutine_handle", align 8
%ref.tmp33 = alloca %"struct.std::experimental::coroutines_v1::suspend_never", align 1
%undef.agg.tmp34 = alloca %"struct.std::experimental::coroutines_v1::suspend_never", align 1
%agg.tmp36 = alloca %"class.std::experimental::coroutines_v1::coroutine_handle.0", align 8
%ref.tmp37 = alloca %"class.std::experimental::coroutines_v1::coroutine_handle", align 8
call void @coro.devirt.trigger(i8* null)
br i1 true, label %coro.alloc, label %coro.init.from.entry, !dbg !650
coro.init.from.entry: ; preds = %entry
%.coro.init = phi i8* [ null, %entry ]
br label %coro.init, !dbg !650
coro.alloc: ; preds = %entry
%call = call i8* @_Znwm(i64 112), !dbg !651
br label %coro.init.from.coro.alloc, !dbg !650
coro.init.from.coro.alloc: ; preds = %coro.alloc
%call.coro.init = phi i8* [ %call, %coro.alloc ]
br label %coro.init, !dbg !650
coro.init: ; preds = %coro.init.from.entry, %coro.init.from.coro.alloc
%2 = phi i8* [ %.coro.init, %coro.init.from.entry ], [ %call.coro.init, %coro.init.from.coro.alloc ], !dbg !650
%FramePtr = bitcast i8* %2 to %_Z3foov.Frame*, !dbg !650
%resume.addr = getelementptr inbounds %_Z3foov.Frame, %_Z3foov.Frame* %FramePtr, i32 0, i32 0, !dbg !650
store void (%_Z3foov.Frame*)* @_Z3foov.resume, void (%_Z3foov.Frame*)** %resume.addr, !dbg !650
%3 = select i1 true, void (%_Z3foov.Frame*)* @_Z3foov.destroy, void (%_Z3foov.Frame*)* @_Z3foov.cleanup, !dbg !650
%destroy.addr = getelementptr inbounds %_Z3foov.Frame, %_Z3foov.Frame* %FramePtr, i32 0, i32 1, !dbg !650
store void (%_Z3foov.Frame*)* %3, void (%_Z3foov.Frame*)** %destroy.addr, !dbg !650
br label %AllocaSpillBB, !dbg !650
AllocaSpillBB: ; preds = %coro.init
%__promise = getelementptr inbounds %_Z3foov.Frame, %_Z3foov.Frame* %FramePtr, i32 0, i32 2, !dbg !650
%ref.tmp = getelementptr inbounds %_Z3foov.Frame, %_Z3foov.Frame* %FramePtr, i32 0, i32 4, !dbg !650
br label %PostSpill, !dbg !650
PostSpill: ; preds = %AllocaSpillBB
store i1 false, i1* %gro.active, align 1, !dbg !650
call void @llvm.dbg.declare(metadata %struct.coro* %retval, metadata !652, metadata !DIExpression()), !dbg !651
call void @llvm.dbg.declare(metadata %"struct.coro::promise_type"* %0, metadata !653, metadata !DIExpression()), !dbg !651
%4 = bitcast %"struct.coro::promise_type"* %__promise to i8*, !dbg !651
call void @llvm.memcpy.p0i8.p0i8.i64(i8* align 1 %4, i8* align 1 getelementptr inbounds (%"struct.coro::promise_type", %"struct.coro::promise_type"* @__const._Z3foov.__promise, i32 0, i32 0), i64 1, i1 false), !dbg !651
%call1 = call i8* @_ZN4coro12promise_type17get_return_objectEv(%"struct.coro::promise_type"* %__promise), !dbg !651
%coerce.dive = getelementptr inbounds %struct.coro, %struct.coro* %retval, i32 0, i32 0, !dbg !651
%coerce.dive2 = getelementptr inbounds %"class.std::experimental::coroutines_v1::coroutine_handle", %"class.std::experimental::coroutines_v1::coroutine_handle"* %coerce.dive, i32 0, i32 0, !dbg !651
%coerce.dive3 = getelementptr inbounds %"class.std::experimental::coroutines_v1::coroutine_handle.0", %"class.std::experimental::coroutines_v1::coroutine_handle.0"* %coerce.dive2, i32 0, i32 0, !dbg !651
store i8* %call1, i8** %coerce.dive3, align 8, !dbg !651
store i1 true, i1* %gro.active, align 1, !dbg !651
call void @_ZN4coro12promise_type15initial_suspendEv(%"struct.coro::promise_type"* %__promise), !dbg !651
%call4 = call zeroext i1 @_ZNKSt12experimental13coroutines_v113suspend_never11await_readyEv(%"struct.std::experimental::coroutines_v1::suspend_never"* %ref.tmp) #2, !dbg !651
br i1 %call4, label %init.ready, label %CoroSave, !dbg !651
CoroSave: ; preds = %PostSpill
%index.addr72 = getelementptr inbounds %_Z3foov.Frame, %_Z3foov.Frame* %FramePtr, i32 0, i32 3, !dbg !651
store i2 0, i2* %index.addr72, !dbg !651
br label %AfterCoroSave, !dbg !651
AfterCoroSave: ; preds = %CoroSave
%ref.tmp5.reload.addr = getelementptr inbounds %_Z3foov.Frame, %_Z3foov.Frame* %FramePtr, i32 0, i32 6, !dbg !651
%agg.tmp.reload.addr = getelementptr inbounds %_Z3foov.Frame, %_Z3foov.Frame* %FramePtr, i32 0, i32 5, !dbg !651
%ref.tmp.reload.addr61 = getelementptr inbounds %_Z3foov.Frame, %_Z3foov.Frame* %FramePtr, i32 0, i32 4, !dbg !651
%call6 = call i8* @_ZNSt12experimental13coroutines_v116coroutine_handleIN4coro12promise_typeEE12from_addressEPv(i8* %2) #2, !dbg !651
%coerce.dive7 = getelementptr inbounds %"class.std::experimental::coroutines_v1::coroutine_handle", %"class.std::experimental::coroutines_v1::coroutine_handle"* %ref.tmp5.reload.addr, i32 0, i32 0, !dbg !651
%coerce.dive8 = getelementptr inbounds %"class.std::experimental::coroutines_v1::coroutine_handle.0", %"class.std::experimental::coroutines_v1::coroutine_handle.0"* %coerce.dive7, i32 0, i32 0, !dbg !651
store i8* %call6, i8** %coerce.dive8, align 8, !dbg !651
%5 = bitcast %"class.std::experimental::coroutines_v1::coroutine_handle"* %ref.tmp5.reload.addr to %"class.std::experimental::coroutines_v1::coroutine_handle.0"*, !dbg !651
%6 = bitcast %"class.std::experimental::coroutines_v1::coroutine_handle.0"* %agg.tmp.reload.addr to i8*, !dbg !651
%7 = bitcast %"class.std::experimental::coroutines_v1::coroutine_handle.0"* %5 to i8*, !dbg !651
call void @llvm.memcpy.p0i8.p0i8.i64(i8* align 8 %6, i8* align 8 %7, i64 8, i1 false), !dbg !651
%coerce.dive9 = getelementptr inbounds %"class.std::experimental::coroutines_v1::coroutine_handle.0", %"class.std::experimental::coroutines_v1::coroutine_handle.0"* %agg.tmp.reload.addr, i32 0, i32 0, !dbg !651
%8 = load i8*, i8** %coerce.dive9, align 8, !dbg !651
call void @_ZNKSt12experimental13coroutines_v113suspend_never13await_suspendENS0_16coroutine_handleIvEE(%"struct.std::experimental::coroutines_v1::suspend_never"* %ref.tmp.reload.addr61, i8* %8) #2, !dbg !651
br label %CoroSuspend, !dbg !651
CoroSuspend: ; preds = %AfterCoroSave
br label %resume.0.landing, !dbg !651
resume.0.landing: ; preds = %CoroSuspend
br label %AfterCoroSuspend, !dbg !651
AfterCoroSuspend: ; preds = %resume.0.landing
switch i8 -1, label %coro.ret [
i8 0, label %init.ready
i8 1, label %init.cleanup
], !dbg !651
init.cleanup: ; preds = %AfterCoroSuspend
br label %cleanup.from.init.cleanup, !dbg !651
cleanup.from.init.cleanup: ; preds = %init.cleanup
%.cleanup60 = phi i32 [ 2, %init.cleanup ]
br label %cleanup, !dbg !651
init.ready: ; preds = %AfterCoroSuspend, %PostSpill
%ref.tmp11.reload.addr65 = getelementptr inbounds %_Z3foov.Frame, %_Z3foov.Frame* %FramePtr, i32 0, i32 8, !dbg !651
%i.reload.addr63 = getelementptr inbounds %_Z3foov.Frame, %_Z3foov.Frame* %FramePtr, i32 0, i32 7, !dbg !651
%ref.tmp.reload.addr = getelementptr inbounds %_Z3foov.Frame, %_Z3foov.Frame* %FramePtr, i32 0, i32 4, !dbg !651
call void @_ZNKSt12experimental13coroutines_v113suspend_never12await_resumeEv(%"struct.std::experimental::coroutines_v1::suspend_never"* %ref.tmp.reload.addr) #2, !dbg !651
call void @llvm.dbg.declare(metadata i32* %i, metadata !659, metadata !DIExpression()), !dbg !661
store i32 0, i32* %i.reload.addr63, align 4, !dbg !661
%9 = load i32, i32* %i.reload.addr63, align 4, !dbg !662
%inc = add nsw i32 %9, 1, !dbg !662
store i32 %inc, i32* %i.reload.addr63, align 4, !dbg !662
%10 = load i32, i32* %i.reload.addr63, align 4, !dbg !663
%call10 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str, i64 0, i64 0), i32 %10), !dbg !664
%call12 = call zeroext i1 @_ZNKSt12experimental13coroutines_v114suspend_always11await_readyEv(%"struct.std::experimental::coroutines_v1::suspend_always"* %ref.tmp11.reload.addr65) #2, !dbg !665
br i1 %call12, label %await.ready, label %CoroSave45, !dbg !666
CoroSave45: ; preds = %init.ready
%index.addr73 = getelementptr inbounds %_Z3foov.Frame, %_Z3foov.Frame* %FramePtr, i32 0, i32 3, !dbg !666
store i2 1, i2* %index.addr73, !dbg !666
br label %AfterCoroSave46, !dbg !665
AfterCoroSave46: ; preds = %CoroSave45
%ref.tmp14.reload.addr = getelementptr inbounds %_Z3foov.Frame, %_Z3foov.Frame* %FramePtr, i32 0, i32 10, !dbg !665
%agg.tmp13.reload.addr = getelementptr inbounds %_Z3foov.Frame, %_Z3foov.Frame* %FramePtr, i32 0, i32 9, !dbg !665
%ref.tmp11.reload.addr64 = getelementptr inbounds %_Z3foov.Frame, %_Z3foov.Frame* %FramePtr, i32 0, i32 8, !dbg !665
%call15 = call i8* @_ZNSt12experimental13coroutines_v116coroutine_handleIN4coro12promise_typeEE12from_addressEPv(i8* %2) #2, !dbg !665
%coerce.dive16 = getelementptr inbounds %"class.std::experimental::coroutines_v1::coroutine_handle", %"class.std::experimental::coroutines_v1::coroutine_handle"* %ref.tmp14.reload.addr, i32 0, i32 0, !dbg !665
%coerce.dive17 = getelementptr inbounds %"class.std::experimental::coroutines_v1::coroutine_handle.0", %"class.std::experimental::coroutines_v1::coroutine_handle.0"* %coerce.dive16, i32 0, i32 0, !dbg !665
store i8* %call15, i8** %coerce.dive17, align 8, !dbg !665
%11 = bitcast %"class.std::experimental::coroutines_v1::coroutine_handle"* %ref.tmp14.reload.addr to %"class.std::experimental::coroutines_v1::coroutine_handle.0"*, !dbg !665
%12 = bitcast %"class.std::experimental::coroutines_v1::coroutine_handle.0"* %agg.tmp13.reload.addr to i8*, !dbg !665
%13 = bitcast %"class.std::experimental::coroutines_v1::coroutine_handle.0"* %11 to i8*, !dbg !665
call void @llvm.memcpy.p0i8.p0i8.i64(i8* align 8 %12, i8* align 8 %13, i64 8, i1 false), !dbg !665
%coerce.dive18 = getelementptr inbounds %"class.std::experimental::coroutines_v1::coroutine_handle.0", %"class.std::experimental::coroutines_v1::coroutine_handle.0"* %agg.tmp13.reload.addr, i32 0, i32 0, !dbg !665
%14 = load i8*, i8** %coerce.dive18, align 8, !dbg !665
call void @_ZNKSt12experimental13coroutines_v114suspend_always13await_suspendENS0_16coroutine_handleIvEE(%"struct.std::experimental::coroutines_v1::suspend_always"* %ref.tmp11.reload.addr64, i8* %14) #2, !dbg !665
br label %CoroSuspend47, !dbg !666
CoroSuspend47: ; preds = %AfterCoroSave46
br label %resume.1.landing, !dbg !666
resume.1.landing: ; preds = %CoroSuspend47
br label %AfterCoroSuspend48, !dbg !666
AfterCoroSuspend48: ; preds = %resume.1.landing
switch i8 -1, label %coro.ret [
i8 0, label %await.ready
i8 1, label %await.cleanup
], !dbg !666
await.cleanup: ; preds = %AfterCoroSuspend48
br label %cleanup.from.await.cleanup, !dbg !666
cleanup.from.await.cleanup: ; preds = %await.cleanup
%.cleanup59 = phi i32 [ 2, %await.cleanup ]
br label %cleanup, !dbg !666
await.ready: ; preds = %AfterCoroSuspend48, %init.ready
%ref.tmp22.reload.addr68 = getelementptr inbounds %_Z3foov.Frame, %_Z3foov.Frame* %FramePtr, i32 0, i32 12, !dbg !665
%j.reload.addr66 = getelementptr inbounds %_Z3foov.Frame, %_Z3foov.Frame* %FramePtr, i32 0, i32 11, !dbg !665
%ref.tmp11.reload.addr = getelementptr inbounds %_Z3foov.Frame, %_Z3foov.Frame* %FramePtr, i32 0, i32 8, !dbg !665
%i.reload.addr62 = getelementptr inbounds %_Z3foov.Frame, %_Z3foov.Frame* %FramePtr, i32 0, i32 7, !dbg !665
call void @_ZNKSt12experimental13coroutines_v114suspend_always12await_resumeEv(%"struct.std::experimental::coroutines_v1::suspend_always"* %ref.tmp11.reload.addr) #2, !dbg !665
call void @llvm.dbg.declare(metadata i32* %j, metadata !667, metadata !DIExpression()), !dbg !668
store i32 0, i32* %j.reload.addr66, align 4, !dbg !668
%15 = load i32, i32* %i.reload.addr62, align 4, !dbg !669
%inc19 = add nsw i32 %15, 1, !dbg !669
store i32 %inc19, i32* %i.reload.addr62, align 4, !dbg !669
%16 = load i32, i32* %j.reload.addr66, align 4, !dbg !670
%inc20 = add nsw i32 %16, 1, !dbg !670
store i32 %inc20, i32* %j.reload.addr66, align 4, !dbg !670
%17 = load i32, i32* %i.reload.addr62, align 4, !dbg !671
%18 = load i32, i32* %j.reload.addr66, align 4, !dbg !672
%call21 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.1, i64 0, i64 0), i32 %17, i32 %18), !dbg !673
%call23 = call zeroext i1 @_ZNKSt12experimental13coroutines_v114suspend_always11await_readyEv(%"struct.std::experimental::coroutines_v1::suspend_always"* %ref.tmp22.reload.addr68) #2, !dbg !674
br i1 %call23, label %await2.ready, label %CoroSave49, !dbg !675
CoroSave49: ; preds = %await.ready
%index.addr74 = getelementptr inbounds %_Z3foov.Frame, %_Z3foov.Frame* %FramePtr, i32 0, i32 3, !dbg !675
store i2 -2, i2* %index.addr74, !dbg !675
br label %AfterCoroSave50, !dbg !674
AfterCoroSave50: ; preds = %CoroSave49
%ref.tmp25.reload.addr = getelementptr inbounds %_Z3foov.Frame, %_Z3foov.Frame* %FramePtr, i32 0, i32 14, !dbg !674
%agg.tmp24.reload.addr = getelementptr inbounds %_Z3foov.Frame, %_Z3foov.Frame* %FramePtr, i32 0, i32 13, !dbg !674
%ref.tmp22.reload.addr67 = getelementptr inbounds %_Z3foov.Frame, %_Z3foov.Frame* %FramePtr, i32 0, i32 12, !dbg !674
%call26 = call i8* @_ZNSt12experimental13coroutines_v116coroutine_handleIN4coro12promise_typeEE12from_addressEPv(i8* %2) #2, !dbg !674
%coerce.dive27 = getelementptr inbounds %"class.std::experimental::coroutines_v1::coroutine_handle", %"class.std::experimental::coroutines_v1::coroutine_handle"* %ref.tmp25.reload.addr, i32 0, i32 0, !dbg !674
%coerce.dive28 = getelementptr inbounds %"class.std::experimental::coroutines_v1::coroutine_handle.0", %"class.std::experimental::coroutines_v1::coroutine_handle.0"* %coerce.dive27, i32 0, i32 0, !dbg !674
store i8* %call26, i8** %coerce.dive28, align 8, !dbg !674
%19 = bitcast %"class.std::experimental::coroutines_v1::coroutine_handle"* %ref.tmp25.reload.addr to %"class.std::experimental::coroutines_v1::coroutine_handle.0"*, !dbg !674
%20 = bitcast %"class.std::experimental::coroutines_v1::coroutine_handle.0"* %agg.tmp24.reload.addr to i8*, !dbg !674
%21 = bitcast %"class.std::experimental::coroutines_v1::coroutine_handle.0"* %19 to i8*, !dbg !674
call void @llvm.memcpy.p0i8.p0i8.i64(i8* align 8 %20, i8* align 8 %21, i64 8, i1 false), !dbg !674
%coerce.dive29 = getelementptr inbounds %"class.std::experimental::coroutines_v1::coroutine_handle.0", %"class.std::experimental::coroutines_v1::coroutine_handle.0"* %agg.tmp24.reload.addr, i32 0, i32 0, !dbg !674
%22 = load i8*, i8** %coerce.dive29, align 8, !dbg !674
call void @_ZNKSt12experimental13coroutines_v114suspend_always13await_suspendENS0_16coroutine_handleIvEE(%"struct.std::experimental::coroutines_v1::suspend_always"* %ref.tmp22.reload.addr67, i8* %22) #2, !dbg !674
br label %CoroSuspend51, !dbg !675
CoroSuspend51: ; preds = %AfterCoroSave50
br label %resume.2.landing, !dbg !675
resume.2.landing: ; preds = %CoroSuspend51
br label %AfterCoroSuspend52, !dbg !675
AfterCoroSuspend52: ; preds = %resume.2.landing
switch i8 -1, label %coro.ret [
i8 0, label %await2.ready
i8 1, label %await2.cleanup
], !dbg !675
await2.cleanup: ; preds = %AfterCoroSuspend52
br label %cleanup.from.await2.cleanup, !dbg !675
cleanup.from.await2.cleanup: ; preds = %await2.cleanup
%.cleanup58 = phi i32 [ 2, %await2.cleanup ]
br label %cleanup, !dbg !675
await2.ready: ; preds = %AfterCoroSuspend52, %await.ready
%ref.tmp22.reload.addr = getelementptr inbounds %_Z3foov.Frame, %_Z3foov.Frame* %FramePtr, i32 0, i32 12, !dbg !674
%j.reload.addr = getelementptr inbounds %_Z3foov.Frame, %_Z3foov.Frame* %FramePtr, i32 0, i32 11, !dbg !674
%i.reload.addr = getelementptr inbounds %_Z3foov.Frame, %_Z3foov.Frame* %FramePtr, i32 0, i32 7, !dbg !674
call void @_ZNKSt12experimental13coroutines_v114suspend_always12await_resumeEv(%"struct.std::experimental::coroutines_v1::suspend_always"* %ref.tmp22.reload.addr) #2, !dbg !674
%23 = load i32, i32* %i.reload.addr, align 4, !dbg !676
%inc30 = add nsw i32 %23, 1, !dbg !676
store i32 %inc30, i32* %i.reload.addr, align 4, !dbg !676
%24 = load i32, i32* %j.reload.addr, align 4, !dbg !677
%inc31 = add nsw i32 %24, 1, !dbg !677
store i32 %inc31, i32* %j.reload.addr, align 4, !dbg !677
%25 = load i32, i32* %j.reload.addr, align 4, !dbg !678
%26 = load i32, i32* %i.reload.addr, align 4, !dbg !679
%call32 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.1, i64 0, i64 0), i32 %25, i32 %26), !dbg !680
call void @_ZN4coro12promise_type11return_voidEv(%"struct.coro::promise_type"* %__promise), !dbg !651
br label %coro.final, !dbg !651
coro.final: ; preds = %await2.ready
%ref.tmp33.reload.addr70 = getelementptr inbounds %_Z3foov.Frame, %_Z3foov.Frame* %FramePtr, i32 0, i32 15, !dbg !651
call void @_ZN4coro12promise_type13final_suspendEv(%"struct.coro::promise_type"* %__promise), !dbg !651
%call35 = call zeroext i1 @_ZNKSt12experimental13coroutines_v113suspend_never11await_readyEv(%"struct.std::experimental::coroutines_v1::suspend_never"* %ref.tmp33.reload.addr70) #2, !dbg !651
br i1 %call35, label %final.ready, label %CoroSave53, !dbg !651
CoroSave53: ; preds = %coro.final
%ResumeFn.addr = getelementptr inbounds %_Z3foov.Frame, %_Z3foov.Frame* %FramePtr, i32 0, i32 0, !dbg !651
store void (%_Z3foov.Frame*)* null, void (%_Z3foov.Frame*)** %ResumeFn.addr, !dbg !651
br label %AfterCoroSave54, !dbg !651
AfterCoroSave54: ; preds = %CoroSave53
%ref.tmp37.reload.addr = getelementptr inbounds %_Z3foov.Frame, %_Z3foov.Frame* %FramePtr, i32 0, i32 17, !dbg !651
%agg.tmp36.reload.addr = getelementptr inbounds %_Z3foov.Frame, %_Z3foov.Frame* %FramePtr, i32 0, i32 16, !dbg !651
%ref.tmp33.reload.addr69 = getelementptr inbounds %_Z3foov.Frame, %_Z3foov.Frame* %FramePtr, i32 0, i32 15, !dbg !651
%call38 = call i8* @_ZNSt12experimental13coroutines_v116coroutine_handleIN4coro12promise_typeEE12from_addressEPv(i8* %2) #2, !dbg !651
%coerce.dive39 = getelementptr inbounds %"class.std::experimental::coroutines_v1::coroutine_handle", %"class.std::experimental::coroutines_v1::coroutine_handle"* %ref.tmp37.reload.addr, i32 0, i32 0, !dbg !651
%coerce.dive40 = getelementptr inbounds %"class.std::experimental::coroutines_v1::coroutine_handle.0", %"class.std::experimental::coroutines_v1::coroutine_handle.0"* %coerce.dive39, i32 0, i32 0, !dbg !651
store i8* %call38, i8** %coerce.dive40, align 8, !dbg !651
%27 = bitcast %"class.std::experimental::coroutines_v1::coroutine_handle"* %ref.tmp37.reload.addr to %"class.std::experimental::coroutines_v1::coroutine_handle.0"*, !dbg !651
%28 = bitcast %"class.std::experimental::coroutines_v1::coroutine_handle.0"* %agg.tmp36.reload.addr to i8*, !dbg !651
%29 = bitcast %"class.std::experimental::coroutines_v1::coroutine_handle.0"* %27 to i8*, !dbg !651
call void @llvm.memcpy.p0i8.p0i8.i64(i8* align 8 %28, i8* align 8 %29, i64 8, i1 false), !dbg !651
%coerce.dive41 = getelementptr inbounds %"class.std::experimental::coroutines_v1::coroutine_handle.0", %"class.std::experimental::coroutines_v1::coroutine_handle.0"* %agg.tmp36.reload.addr, i32 0, i32 0, !dbg !651
%30 = load i8*, i8** %coerce.dive41, align 8, !dbg !651
call void @_ZNKSt12experimental13coroutines_v113suspend_never13await_suspendENS0_16coroutine_handleIvEE(%"struct.std::experimental::coroutines_v1::suspend_never"* %ref.tmp33.reload.addr69, i8* %30) #2, !dbg !651
br label %CoroSuspend55, !dbg !651
CoroSuspend55: ; preds = %AfterCoroSave54
br label %resume.3.landing, !dbg !651
resume.3.landing: ; preds = %CoroSuspend55
br label %AfterCoroSuspend56, !dbg !651
AfterCoroSuspend56: ; preds = %resume.3.landing
switch i8 -1, label %coro.ret [
i8 0, label %final.ready
i8 1, label %final.cleanup
], !dbg !651
final.cleanup: ; preds = %AfterCoroSuspend56
br label %cleanup.from.final.cleanup, !dbg !651
cleanup.from.final.cleanup: ; preds = %final.cleanup
%.cleanup57 = phi i32 [ 2, %final.cleanup ]
br label %cleanup, !dbg !651
final.ready: ; preds = %AfterCoroSuspend56, %coro.final
%ref.tmp33.reload.addr = getelementptr inbounds %_Z3foov.Frame, %_Z3foov.Frame* %FramePtr, i32 0, i32 15, !dbg !651
call void @_ZNKSt12experimental13coroutines_v113suspend_never12await_resumeEv(%"struct.std::experimental::coroutines_v1::suspend_never"* %ref.tmp33.reload.addr) #2, !dbg !651
br label %cleanup.from.final.ready, !dbg !651
cleanup.from.final.ready: ; preds = %final.ready
%.cleanup = phi i32 [ 0, %final.ready ]
br label %cleanup, !dbg !651
cleanup: ; preds = %cleanup.from.final.ready, %cleanup.from.final.cleanup, %cleanup.from.await2.cleanup, %cleanup.from.await.cleanup, %cleanup.from.init.cleanup
%cleanup.dest.slot.0 = phi i32 [ %.cleanup, %cleanup.from.final.ready ], [ %.cleanup57, %cleanup.from.final.cleanup ], [ %.cleanup58, %cleanup.from.await2.cleanup ], [ %.cleanup59, %cleanup.from.await.cleanup ], [ %.cleanup60, %cleanup.from.init.cleanup ]
%31 = icmp ne i8* %2, null, !dbg !651
br i1 %31, label %coro.free, label %after.coro.free, !dbg !651
coro.free: ; preds = %cleanup
call void @_ZdlPv(i8* %2) #2, !dbg !651
br label %after.coro.free, !dbg !651
after.coro.free: ; preds = %cleanup, %coro.free
switch i32 %cleanup.dest.slot.0, label %unreachable [
i32 0, label %cleanup.cont
i32 2, label %coro.ret
]
cleanup.cont: ; preds = %after.coro.free
br label %coro.ret, !dbg !651
coro.ret: ; preds = %cleanup.cont, %after.coro.free, %AfterCoroSuspend56, %AfterCoroSuspend52, %AfterCoroSuspend48, %AfterCoroSuspend
br label %CoroEnd, !dbg !651
CoroEnd: ; preds = %coro.ret
br label %AfterCoroEnd, !dbg !651
AfterCoroEnd: ; preds = %CoroEnd
%coerce.dive42 = getelementptr inbounds %struct.coro, %struct.coro* %retval, i32 0, i32 0, !dbg !651
%coerce.dive43 = getelementptr inbounds %"class.std::experimental::coroutines_v1::coroutine_handle", %"class.std::experimental::coroutines_v1::coroutine_handle"* %coerce.dive42, i32 0, i32 0, !dbg !651
%coerce.dive44 = getelementptr inbounds %"class.std::experimental::coroutines_v1::coroutine_handle.0", %"class.std::experimental::coroutines_v1::coroutine_handle.0"* %coerce.dive43, i32 0, i32 0, !dbg !651
%32 = load i8*, i8** %coerce.dive44, align 8, !dbg !651
ret i8* %32, !dbg !651
unreachable: ; preds = %after.coro.free
unreachable
}
; Function Attrs: argmemonly nounwind readonly
declare token @llvm.coro.id(i32, i8* readnone, i8* nocapture readonly, i8*) #1
; Function Attrs: nounwind
declare i1 @llvm.coro.alloc(token) #2
; Function Attrs: nobuiltin
declare dso_local noalias i8* @_Znwm(i64) #3
; Function Attrs: nounwind readnone
declare i64 @llvm.coro.size.i64() #4
; Function Attrs: nounwind
declare i8* @llvm.coro.begin(token, i8* writeonly) #2
; Function Attrs: nounwind readnone speculatable willreturn
declare void @llvm.dbg.declare(metadata, metadata, metadata) #5
; Function Attrs: argmemonly nounwind willreturn
declare void @llvm.memcpy.p0i8.p0i8.i64(i8* noalias nocapture writeonly, i8* noalias nocapture readonly, i64, i1 immarg) #6
; Function Attrs: noinline nounwind optnone uwtable
define linkonce_odr dso_local i8* @_ZN4coro12promise_type17get_return_objectEv(%"struct.coro::promise_type"* %this) #0 comdat align 2 !dbg !681 {
entry:
%retval = alloca %struct.coro, align 8
%this.addr = alloca %"struct.coro::promise_type"*, align 8
%handle = alloca %"class.std::experimental::coroutines_v1::coroutine_handle", align 8
%agg.tmp = alloca %"class.std::experimental::coroutines_v1::coroutine_handle", align 8
store %"struct.coro::promise_type"* %this, %"struct.coro::promise_type"** %this.addr, align 8
call void @llvm.dbg.declare(metadata %"struct.coro::promise_type"** %this.addr, metadata !682, metadata !DIExpression()), !dbg !684
%this1 = load %"struct.coro::promise_type"*, %"struct.coro::promise_type"** %this.addr, align 8
call void @llvm.dbg.declare(metadata %"class.std::experimental::coroutines_v1::coroutine_handle"* %handle, metadata !685, metadata !DIExpression()), !dbg !686
%call = call i8* @_ZNSt12experimental13coroutines_v116coroutine_handleIN4coro12promise_typeEE12from_promiseERS3_(%"struct.coro::promise_type"* dereferenceable(1) %this1) #2, !dbg !687
%coerce.dive = getelementptr inbounds %"class.std::experimental::coroutines_v1::coroutine_handle", %"class.std::experimental::coroutines_v1::coroutine_handle"* %handle, i32 0, i32 0, !dbg !687
%coerce.dive2 = getelementptr inbounds %"class.std::experimental::coroutines_v1::coroutine_handle.0", %"class.std::experimental::coroutines_v1::coroutine_handle.0"* %coerce.dive, i32 0, i32 0, !dbg !687
store i8* %call, i8** %coerce.dive2, align 8, !dbg !687
%0 = bitcast %"class.std::experimental::coroutines_v1::coroutine_handle"* %agg.tmp to i8*, !dbg !688
%1 = bitcast %"class.std::experimental::coroutines_v1::coroutine_handle"* %handle to i8*, !dbg !688
call void @llvm.memcpy.p0i8.p0i8.i64(i8* align 8 %0, i8* align 8 %1, i64 8, i1 false), !dbg !688
%coerce.dive3 = getelementptr inbounds %"class.std::experimental::coroutines_v1::coroutine_handle", %"class.std::experimental::coroutines_v1::coroutine_handle"* %agg.tmp, i32 0, i32 0, !dbg !689
%coerce.dive4 = getelementptr inbounds %"class.std::experimental::coroutines_v1::coroutine_handle.0", %"class.std::experimental::coroutines_v1::coroutine_handle.0"* %coerce.dive3, i32 0, i32 0, !dbg !689
%2 = load i8*, i8** %coerce.dive4, align 8, !dbg !689
call void @_ZN4coroC2ENSt12experimental13coroutines_v116coroutine_handleINS_12promise_typeEEE(%struct.coro* %retval, i8* %2), !dbg !689
%coerce.dive5 = getelementptr inbounds %struct.coro, %struct.coro* %retval, i32 0, i32 0, !dbg !690
%coerce.dive6 = getelementptr inbounds %"class.std::experimental::coroutines_v1::coroutine_handle", %"class.std::experimental::coroutines_v1::coroutine_handle"* %coerce.dive5, i32 0, i32 0, !dbg !690
%coerce.dive7 = getelementptr inbounds %"class.std::experimental::coroutines_v1::coroutine_handle.0", %"class.std::experimental::coroutines_v1::coroutine_handle.0"* %coerce.dive6, i32 0, i32 0, !dbg !690
%3 = load i8*, i8** %coerce.dive7, align 8, !dbg !690
ret i8* %3, !dbg !690
}
; Function Attrs: noinline nounwind optnone uwtable
define linkonce_odr dso_local void @_ZN4coro12promise_type15initial_suspendEv(%"struct.coro::promise_type"* %this) #0 comdat align 2 !dbg !691 {
entry:
%this.addr = alloca %"struct.coro::promise_type"*, align 8
store %"struct.coro::promise_type"* %this, %"struct.coro::promise_type"** %this.addr, align 8
call void @llvm.dbg.declare(metadata %"struct.coro::promise_type"** %this.addr, metadata !692, metadata !DIExpression()), !dbg !693
%this1 = load %"struct.coro::promise_type"*, %"struct.coro::promise_type"** %this.addr, align 8
ret void, !dbg !694
}
; Function Attrs: noinline nounwind optnone uwtable
define linkonce_odr hidden zeroext i1 @_ZNKSt12experimental13coroutines_v113suspend_never11await_readyEv(%"struct.std::experimental::coroutines_v1::suspend_never"* %this) #0 comdat align 2 !dbg !695 {
entry:
%this.addr = alloca %"struct.std::experimental::coroutines_v1::suspend_never"*, align 8
store %"struct.std::experimental::coroutines_v1::suspend_never"* %this, %"struct.std::experimental::coroutines_v1::suspend_never"** %this.addr, align 8
call void @llvm.dbg.declare(metadata %"struct.std::experimental::coroutines_v1::suspend_never"** %this.addr, metadata !696, metadata !DIExpression()), !dbg !698
%this1 = load %"struct.std::experimental::coroutines_v1::suspend_never"*, %"struct.std::experimental::coroutines_v1::suspend_never"** %this.addr, align 8
ret i1 true, !dbg !699
}
; Function Attrs: nounwind
declare token @llvm.coro.save(i8*) #2
; Function Attrs: noinline nounwind optnone uwtable
define linkonce_odr hidden void @_ZNKSt12experimental13coroutines_v113suspend_never13await_suspendENS0_16coroutine_handleIvEE(%"struct.std::experimental::coroutines_v1::suspend_never"* %this, i8* %.coerce) #0 comdat align 2 !dbg !700 {
entry:
%0 = alloca %"class.std::experimental::coroutines_v1::coroutine_handle.0", align 8
%this.addr = alloca %"struct.std::experimental::coroutines_v1::suspend_never"*, align 8
%coerce.dive = getelementptr inbounds %"class.std::experimental::coroutines_v1::coroutine_handle.0", %"class.std::experimental::coroutines_v1::coroutine_handle.0"* %0, i32 0, i32 0
store i8* %.coerce, i8** %coerce.dive, align 8
store %"struct.std::experimental::coroutines_v1::suspend_never"* %this, %"struct.std::experimental::coroutines_v1::suspend_never"** %this.addr, align 8
call void @llvm.dbg.declare(metadata %"struct.std::experimental::coroutines_v1::suspend_never"** %this.addr, metadata !701, metadata !DIExpression()), !dbg !702
call void @llvm.dbg.declare(metadata %"class.std::experimental::coroutines_v1::coroutine_handle.0"* %0, metadata !703, metadata !DIExpression()), !dbg !704
%this1 = load %"struct.std::experimental::coroutines_v1::suspend_never"*, %"struct.std::experimental::coroutines_v1::suspend_never"** %this.addr, align 8
ret void, !dbg !705
}
; Function Attrs: noinline nounwind optnone uwtable
define linkonce_odr hidden i8* @_ZNSt12experimental13coroutines_v116coroutine_handleIN4coro12promise_typeEE12from_addressEPv(i8* %__addr) #0 comdat align 2 !dbg !706 {
entry:
%retval = alloca %"class.std::experimental::coroutines_v1::coroutine_handle", align 8
%__addr.addr = alloca i8*, align 8
store i8* %__addr, i8** %__addr.addr, align 8
call void @llvm.dbg.declare(metadata i8** %__addr.addr, metadata !707, metadata !DIExpression()), !dbg !708
call void @llvm.dbg.declare(metadata %"class.std::experimental::coroutines_v1::coroutine_handle"* %retval, metadata !709, metadata !DIExpression()), !dbg !710
call void @_ZNSt12experimental13coroutines_v116coroutine_handleIN4coro12promise_typeEEC2Ev(%"class.std::experimental::coroutines_v1::coroutine_handle"* %retval) #2, !dbg !710
%0 = load i8*, i8** %__addr.addr, align 8, !dbg !711
%1 = bitcast %"class.std::experimental::coroutines_v1::coroutine_handle"* %retval to %"class.std::experimental::coroutines_v1::coroutine_handle.0"*, !dbg !712
%__handle_ = getelementptr inbounds %"class.std::experimental::coroutines_v1::coroutine_handle.0", %"class.std::experimental::coroutines_v1::coroutine_handle.0"* %1, i32 0, i32 0, !dbg !713
store i8* %0, i8** %__handle_, align 8, !dbg !714
%coerce.dive = getelementptr inbounds %"class.std::experimental::coroutines_v1::coroutine_handle", %"class.std::experimental::coroutines_v1::coroutine_handle"* %retval, i32 0, i32 0, !dbg !715
%coerce.dive1 = getelementptr inbounds %"class.std::experimental::coroutines_v1::coroutine_handle.0", %"class.std::experimental::coroutines_v1::coroutine_handle.0"* %coerce.dive, i32 0, i32 0, !dbg !715
%2 = load i8*, i8** %coerce.dive1, align 8, !dbg !715
ret i8* %2, !dbg !715
}
; Function Attrs: nounwind
declare i8 @llvm.coro.suspend(token, i1) #2
; Function Attrs: noinline nounwind optnone uwtable
define linkonce_odr hidden void @_ZNKSt12experimental13coroutines_v113suspend_never12await_resumeEv(%"struct.std::experimental::coroutines_v1::suspend_never"* %this) #0 comdat align 2 !dbg !716 {
entry:
%this.addr = alloca %"struct.std::experimental::coroutines_v1::suspend_never"*, align 8
store %"struct.std::experimental::coroutines_v1::suspend_never"* %this, %"struct.std::experimental::coroutines_v1::suspend_never"** %this.addr, align 8
call void @llvm.dbg.declare(metadata %"struct.std::experimental::coroutines_v1::suspend_never"** %this.addr, metadata !717, metadata !DIExpression()), !dbg !718
%this1 = load %"struct.std::experimental::coroutines_v1::suspend_never"*, %"struct.std::experimental::coroutines_v1::suspend_never"** %this.addr, align 8
ret void, !dbg !719
}
declare dso_local i32 @printf(i8*, ...) #7
; Function Attrs: noinline nounwind optnone uwtable
define linkonce_odr hidden zeroext i1 @_ZNKSt12experimental13coroutines_v114suspend_always11await_readyEv(%"struct.std::experimental::coroutines_v1::suspend_always"* %this) #0 comdat align 2 !dbg !720 {
entry:
%this.addr = alloca %"struct.std::experimental::coroutines_v1::suspend_always"*, align 8
store %"struct.std::experimental::coroutines_v1::suspend_always"* %this, %"struct.std::experimental::coroutines_v1::suspend_always"** %this.addr, align 8
call void @llvm.dbg.declare(metadata %"struct.std::experimental::coroutines_v1::suspend_always"** %this.addr, metadata !734, metadata !DIExpression()), !dbg !736
%this1 = load %"struct.std::experimental::coroutines_v1::suspend_always"*, %"struct.std::experimental::coroutines_v1::suspend_always"** %this.addr, align 8
ret i1 false, !dbg !737
}
; Function Attrs: noinline nounwind optnone uwtable
define linkonce_odr hidden void @_ZNKSt12experimental13coroutines_v114suspend_always13await_suspendENS0_16coroutine_handleIvEE(%"struct.std::experimental::coroutines_v1::suspend_always"* %this, i8* %.coerce) #0 comdat align 2 !dbg !738 {
entry:
%0 = alloca %"class.std::experimental::coroutines_v1::coroutine_handle.0", align 8
%this.addr = alloca %"struct.std::experimental::coroutines_v1::suspend_always"*, align 8
%coerce.dive = getelementptr inbounds %"class.std::experimental::coroutines_v1::coroutine_handle.0", %"class.std::experimental::coroutines_v1::coroutine_handle.0"* %0, i32 0, i32 0
store i8* %.coerce, i8** %coerce.dive, align 8
store %"struct.std::experimental::coroutines_v1::suspend_always"* %this, %"struct.std::experimental::coroutines_v1::suspend_always"** %this.addr, align 8
call void @llvm.dbg.declare(metadata %"struct.std::experimental::coroutines_v1::suspend_always"** %this.addr, metadata !739, metadata !DIExpression()), !dbg !740
call void @llvm.dbg.declare(metadata %"class.std::experimental::coroutines_v1::coroutine_handle.0"* %0, metadata !741, metadata !DIExpression()), !dbg !742
%this1 = load %"struct.std::experimental::coroutines_v1::suspend_always"*, %"struct.std::experimental::coroutines_v1::suspend_always"** %this.addr, align 8
ret void, !dbg !743
}
; Function Attrs: noinline nounwind optnone uwtable
define linkonce_odr hidden void @_ZNKSt12experimental13coroutines_v114suspend_always12await_resumeEv(%"struct.std::experimental::coroutines_v1::suspend_always"* %this) #0 comdat align 2 !dbg !744 {
entry:
%this.addr = alloca %"struct.std::experimental::coroutines_v1::suspend_always"*, align 8
store %"struct.std::experimental::coroutines_v1::suspend_always"* %this, %"struct.std::experimental::coroutines_v1::suspend_always"** %this.addr, align 8
call void @llvm.dbg.declare(metadata %"struct.std::experimental::coroutines_v1::suspend_always"** %this.addr, metadata !745, metadata !DIExpression()), !dbg !746
%this1 = load %"struct.std::experimental::coroutines_v1::suspend_always"*, %"struct.std::experimental::coroutines_v1::suspend_always"** %this.addr, align 8
ret void, !dbg !747
}
; Function Attrs: noinline nounwind optnone uwtable
define linkonce_odr dso_local void @_ZN4coro12promise_type11return_voidEv(%"struct.coro::promise_type"* %this) #0 comdat align 2 !dbg !748 {
entry:
%this.addr = alloca %"struct.coro::promise_type"*, align 8
store %"struct.coro::promise_type"* %this, %"struct.coro::promise_type"** %this.addr, align 8
call void @llvm.dbg.declare(metadata %"struct.coro::promise_type"** %this.addr, metadata !749, metadata !DIExpression()), !dbg !750
%this1 = load %"struct.coro::promise_type"*, %"struct.coro::promise_type"** %this.addr, align 8
ret void, !dbg !751
}
; Function Attrs: noinline nounwind optnone uwtable
define linkonce_odr dso_local void @_ZN4coro12promise_type13final_suspendEv(%"struct.coro::promise_type"* %this) #0 comdat align 2 !dbg !752 {
entry:
%this.addr = alloca %"struct.coro::promise_type"*, align 8
store %"struct.coro::promise_type"* %this, %"struct.coro::promise_type"** %this.addr, align 8
call void @llvm.dbg.declare(metadata %"struct.coro::promise_type"** %this.addr, metadata !753, metadata !DIExpression()), !dbg !754
%this1 = load %"struct.coro::promise_type"*, %"struct.coro::promise_type"** %this.addr, align 8
ret void, !dbg !755
}
; Function Attrs: nobuiltin nounwind
declare dso_local void @_ZdlPv(i8*) #8
; Function Attrs: argmemonly nounwind readonly
declare i8* @llvm.coro.free(token, i8* nocapture readonly) #1
; Function Attrs: nounwind
declare i1 @llvm.coro.end(i8*, i1) #2
; Function Attrs: noinline norecurse nounwind optnone uwtable
define dso_local i32 @main() #9 !dbg !756 {
entry:
%c = alloca %struct.coro, align 8
call void @llvm.dbg.declare(metadata %struct.coro* %c, metadata !757, metadata !DIExpression()), !dbg !758
%call = call i8* @_Z3foov(), !dbg !759
%coerce.dive = getelementptr inbounds %struct.coro, %struct.coro* %c, i32 0, i32 0, !dbg !759
%coerce.dive1 = getelementptr inbounds %"class.std::experimental::coroutines_v1::coroutine_handle", %"class.std::experimental::coroutines_v1::coroutine_handle"* %coerce.dive, i32 0, i32 0, !dbg !759
%coerce.dive2 = getelementptr inbounds %"class.std::experimental::coroutines_v1::coroutine_handle.0", %"class.std::experimental::coroutines_v1::coroutine_handle.0"* %coerce.dive1, i32 0, i32 0, !dbg !759
store i8* %call, i8** %coerce.dive2, align 8, !dbg !759
%handle = getelementptr inbounds %struct.coro, %struct.coro* %c, i32 0, i32 0, !dbg !760
%0 = bitcast %"class.std::experimental::coroutines_v1::coroutine_handle"* %handle to %"class.std::experimental::coroutines_v1::coroutine_handle.0"*, !dbg !761
call void @_ZNSt12experimental13coroutines_v116coroutine_handleIvE6resumeEv(%"class.std::experimental::coroutines_v1::coroutine_handle.0"* %0), !dbg !762
%handle3 = getelementptr inbounds %struct.coro, %struct.coro* %c, i32 0, i32 0, !dbg !763
%1 = bitcast %"class.std::experimental::coroutines_v1::coroutine_handle"* %handle3 to %"class.std::experimental::coroutines_v1::coroutine_handle.0"*, !dbg !764
call void @_ZNSt12experimental13coroutines_v116coroutine_handleIvE6resumeEv(%"class.std::experimental::coroutines_v1::coroutine_handle.0"* %1), !dbg !765
ret i32 0, !dbg !766
}
; Function Attrs: noinline nounwind optnone uwtable
define linkonce_odr hidden void @_ZNSt12experimental13coroutines_v116coroutine_handleIvE6resumeEv(%"class.std::experimental::coroutines_v1::coroutine_handle.0"* %this) #0 comdat align 2 !dbg !767 {
entry:
%this.addr = alloca %"class.std::experimental::coroutines_v1::coroutine_handle.0"*, align 8
store %"class.std::experimental::coroutines_v1::coroutine_handle.0"* %this, %"class.std::experimental::coroutines_v1::coroutine_handle.0"** %this.addr, align 8
call void @llvm.dbg.declare(metadata %"class.std::experimental::coroutines_v1::coroutine_handle.0"** %this.addr, metadata !768, metadata !DIExpression()), !dbg !770
%this1 = load %"class.std::experimental::coroutines_v1::coroutine_handle.0"*, %"class.std::experimental::coroutines_v1::coroutine_handle.0"** %this.addr, align 8
%__handle_ = getelementptr inbounds %"class.std::experimental::coroutines_v1::coroutine_handle.0", %"class.std::experimental::coroutines_v1::coroutine_handle.0"* %this1, i32 0, i32 0, !dbg !771
%0 = load i8*, i8** %__handle_, align 8, !dbg !771
%1 = bitcast i8* %0 to { i8*, i8* }*
%2 = getelementptr inbounds { i8*, i8* }, { i8*, i8* }* %1, i32 0, i32 0
%3 = load i8*, i8** %2
%4 = bitcast i8* %3 to void (i8*)*
call fastcc void %4(i8* %0), !dbg !772
ret void, !dbg !773
}
; Function Attrs: noinline nounwind optnone uwtable
define linkonce_odr hidden i8* @_ZNSt12experimental13coroutines_v116coroutine_handleIN4coro12promise_typeEE12from_promiseERS3_(%"struct.coro::promise_type"* dereferenceable(1) %__promise) #0 comdat align 2 !dbg !774 {
entry:
%retval = alloca %"class.std::experimental::coroutines_v1::coroutine_handle", align 8
%__promise.addr = alloca %"struct.coro::promise_type"*, align 8
store %"struct.coro::promise_type"* %__promise, %"struct.coro::promise_type"** %__promise.addr, align 8
call void @llvm.dbg.declare(metadata %"struct.coro::promise_type"** %__promise.addr, metadata !775, metadata !DIExpression()), !dbg !776
call void @llvm.dbg.declare(metadata %"class.std::experimental::coroutines_v1::coroutine_handle"* %retval, metadata !777, metadata !DIExpression()), !dbg !778
call void @_ZNSt12experimental13coroutines_v116coroutine_handleIN4coro12promise_typeEEC2Ev(%"class.std::experimental::coroutines_v1::coroutine_handle"* %retval) #2, !dbg !778
%0 = load %"struct.coro::promise_type"*, %"struct.coro::promise_type"** %__promise.addr, align 8, !dbg !779
%call = call %"struct.coro::promise_type"* @_ZNSt3__19addressofIN4coro12promise_typeEEEPT_RS3_(%"struct.coro::promise_type"* dereferenceable(1) %0) #2, !dbg !780
%1 = bitcast %"struct.coro::promise_type"* %call to i8*, !dbg !780
%2 = getelementptr inbounds i8, i8* %1, i32 -16, !dbg !781
%3 = bitcast %"class.std::experimental::coroutines_v1::coroutine_handle"* %retval to %"class.std::experimental::coroutines_v1::coroutine_handle.0"*, !dbg !782
%__handle_ = getelementptr inbounds %"class.std::experimental::coroutines_v1::coroutine_handle.0", %"class.std::experimental::coroutines_v1::coroutine_handle.0"* %3, i32 0, i32 0, !dbg !783
store i8* %2, i8** %__handle_, align 8, !dbg !784
%coerce.dive = getelementptr inbounds %"class.std::experimental::coroutines_v1::coroutine_handle", %"class.std::experimental::coroutines_v1::coroutine_handle"* %retval, i32 0, i32 0, !dbg !785
%coerce.dive1 = getelementptr inbounds %"class.std::experimental::coroutines_v1::coroutine_handle.0", %"class.std::experimental::coroutines_v1::coroutine_handle.0"* %coerce.dive, i32 0, i32 0, !dbg !785
%4 = load i8*, i8** %coerce.dive1, align 8, !dbg !785
ret i8* %4, !dbg !785
}
; Function Attrs: noinline nounwind optnone uwtable
define linkonce_odr dso_local void @_ZN4coroC2ENSt12experimental13coroutines_v116coroutine_handleINS_12promise_typeEEE(%struct.coro* %this, i8* %handle.coerce) unnamed_addr #0 comdat align 2 !dbg !786 {
entry:
%handle = alloca %"class.std::experimental::coroutines_v1::coroutine_handle", align 8
%this.addr = alloca %struct.coro*, align 8
%coerce.dive = getelementptr inbounds %"class.std::experimental::coroutines_v1::coroutine_handle", %"class.std::experimental::coroutines_v1::coroutine_handle"* %handle, i32 0, i32 0
%coerce.dive1 = getelementptr inbounds %"class.std::experimental::coroutines_v1::coroutine_handle.0", %"class.std::experimental::coroutines_v1::coroutine_handle.0"* %coerce.dive, i32 0, i32 0
store i8* %handle.coerce, i8** %coerce.dive1, align 8
store %struct.coro* %this, %struct.coro** %this.addr, align 8
call void @llvm.dbg.declare(metadata %struct.coro** %this.addr, metadata !787, metadata !DIExpression()), !dbg !789
call void @llvm.dbg.declare(metadata %"class.std::experimental::coroutines_v1::coroutine_handle"* %handle, metadata !790, metadata !DIExpression()), !dbg !791
%this2 = load %struct.coro*, %struct.coro** %this.addr, align 8
%handle3 = getelementptr inbounds %struct.coro, %struct.coro* %this2, i32 0, i32 0, !dbg !792
%0 = bitcast %"class.std::experimental::coroutines_v1::coroutine_handle"* %handle3 to i8*, !dbg !792
%1 = bitcast %"class.std::experimental::coroutines_v1::coroutine_handle"* %handle to i8*, !dbg !792
call void @llvm.memcpy.p0i8.p0i8.i64(i8* align 8 %0, i8* align 8 %1, i64 8, i1 false), !dbg !792
ret void, !dbg !793
}
; Function Attrs: noinline nounwind optnone uwtable
define linkonce_odr dso_local void @_ZNSt12experimental13coroutines_v116coroutine_handleIN4coro12promise_typeEEC2Ev(%"class.std::experimental::coroutines_v1::coroutine_handle"* %this) unnamed_addr #0 comdat align 2 !dbg !794 {
entry:
%this.addr = alloca %"class.std::experimental::coroutines_v1::coroutine_handle"*, align 8
store %"class.std::experimental::coroutines_v1::coroutine_handle"* %this, %"class.std::experimental::coroutines_v1::coroutine_handle"** %this.addr, align 8
call void @llvm.dbg.declare(metadata %"class.std::experimental::coroutines_v1::coroutine_handle"** %this.addr, metadata !798, metadata !DIExpression()), !dbg !800
%this1 = load %"class.std::experimental::coroutines_v1::coroutine_handle"*, %"class.std::experimental::coroutines_v1::coroutine_handle"** %this.addr, align 8
%0 = bitcast %"class.std::experimental::coroutines_v1::coroutine_handle"* %this1 to %"class.std::experimental::coroutines_v1::coroutine_handle.0"*, !dbg !801
call void @_ZNSt12experimental13coroutines_v116coroutine_handleIvEC2Ev(%"class.std::experimental::coroutines_v1::coroutine_handle.0"* %0) #2, !dbg !801
ret void, !dbg !801
}
; Function Attrs: noinline nounwind optnone uwtable
define linkonce_odr hidden %"struct.coro::promise_type"* @_ZNSt3__19addressofIN4coro12promise_typeEEEPT_RS3_(%"struct.coro::promise_type"* dereferenceable(1) %__x) #0 comdat !dbg !802 {
entry:
%__x.addr = alloca %"struct.coro::promise_type"*, align 8
store %"struct.coro::promise_type"* %__x, %"struct.coro::promise_type"** %__x.addr, align 8
call void @llvm.dbg.declare(metadata %"struct.coro::promise_type"** %__x.addr, metadata !808, metadata !DIExpression()), !dbg !809
%0 = load %"struct.coro::promise_type"*, %"struct.coro::promise_type"** %__x.addr, align 8, !dbg !810
ret %"struct.coro::promise_type"* %0, !dbg !811
}
; Function Attrs: nounwind readnone
declare i8* @llvm.coro.promise(i8* nocapture, i32, i1) #4
; Function Attrs: noinline nounwind optnone uwtable
define linkonce_odr hidden void @_ZNSt12experimental13coroutines_v116coroutine_handleIvEC2Ev(%"class.std::experimental::coroutines_v1::coroutine_handle.0"* %this) unnamed_addr #0 comdat align 2 !dbg !812 {
entry:
%this.addr = alloca %"class.std::experimental::coroutines_v1::coroutine_handle.0"*, align 8
store %"class.std::experimental::coroutines_v1::coroutine_handle.0"* %this, %"class.std::experimental::coroutines_v1::coroutine_handle.0"** %this.addr, align 8
call void @llvm.dbg.declare(metadata %"class.std::experimental::coroutines_v1::coroutine_handle.0"** %this.addr, metadata !813, metadata !DIExpression()), !dbg !814
%this1 = load %"class.std::experimental::coroutines_v1::coroutine_handle.0"*, %"class.std::experimental::coroutines_v1::coroutine_handle.0"** %this.addr, align 8
%__handle_ = getelementptr inbounds %"class.std::experimental::coroutines_v1::coroutine_handle.0", %"class.std::experimental::coroutines_v1::coroutine_handle.0"* %this1, i32 0, i32 0, !dbg !815
store i8* null, i8** %__handle_, align 8, !dbg !815
ret void, !dbg !816
}
declare void @llvm.coro.resume(i8*)
; Function Attrs: argmemonly nounwind readonly
declare i8* @llvm.coro.subfn.addr(i8* nocapture readonly, i8) #1
; Function Attrs: alwaysinline
define private void @coro.devirt.trigger(i8* %0) #10 {
entry:
ret void
}
; Function Attrs: noinline nounwind optnone uwtable
define internal fastcc void @_Z3foov.resume(%_Z3foov.Frame* noalias nonnull %FramePtr) #0 !dbg !817 {
entry.resume:
%vFrame = bitcast %_Z3foov.Frame* %FramePtr to i8*, !dbg !818
%__promise = getelementptr inbounds %_Z3foov.Frame, %_Z3foov.Frame* %FramePtr, i32 0, i32 2, !dbg !818
%ref.tmp = getelementptr inbounds %_Z3foov.Frame, %_Z3foov.Frame* %FramePtr, i32 0, i32 4, !dbg !818
br label %resume.entry, !dbg !818
resume.0: ; preds = %resume.entry
br label %resume.0.landing, !dbg !819
resume.0.landing: ; preds = %resume.0
br label %AfterCoroSuspend, !dbg !819
AfterCoroSuspend: ; preds = %resume.0.landing
switch i8 0, label %coro.ret [
i8 0, label %init.ready
i8 1, label %init.cleanup
], !dbg !819
init.cleanup: ; preds = %AfterCoroSuspend
br label %cleanup.from.init.cleanup, !dbg !819
cleanup.from.init.cleanup: ; preds = %init.cleanup
%.cleanup60 = phi i32 [ 2, %init.cleanup ]
br label %cleanup, !dbg !819
init.ready: ; preds = %AfterCoroSuspend
%ref.tmp11.reload.addr65 = getelementptr inbounds %_Z3foov.Frame, %_Z3foov.Frame* %FramePtr, i32 0, i32 8, !dbg !819
%i.reload.addr63 = getelementptr inbounds %_Z3foov.Frame, %_Z3foov.Frame* %FramePtr, i32 0, i32 7, !dbg !819
%ref.tmp.reload.addr = getelementptr inbounds %_Z3foov.Frame, %_Z3foov.Frame* %FramePtr, i32 0, i32 4, !dbg !819
call void @_ZNKSt12experimental13coroutines_v113suspend_never12await_resumeEv(%"struct.std::experimental::coroutines_v1::suspend_never"* %ref.tmp.reload.addr) #2, !dbg !819
call void @llvm.dbg.declare(metadata !2, metadata !820, metadata !DIExpression()), !dbg !822
store i32 0, i32* %i.reload.addr63, align 4, !dbg !822
%0 = load i32, i32* %i.reload.addr63, align 4, !dbg !823
%inc = add nsw i32 %0, 1, !dbg !823
store i32 %inc, i32* %i.reload.addr63, align 4, !dbg !823
%1 = load i32, i32* %i.reload.addr63, align 4, !dbg !824
%call10 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str, i64 0, i64 0), i32 %1), !dbg !825
%call12 = call zeroext i1 @_ZNKSt12experimental13coroutines_v114suspend_always11await_readyEv(%"struct.std::experimental::coroutines_v1::suspend_always"* %ref.tmp11.reload.addr65) #2, !dbg !826
br i1 %call12, label %await.ready, label %CoroSave45, !dbg !827
CoroSave45: ; preds = %init.ready
%index.addr73 = getelementptr inbounds %_Z3foov.Frame, %_Z3foov.Frame* %FramePtr, i32 0, i32 3, !dbg !827
store i2 1, i2* %index.addr73, !dbg !827
br label %AfterCoroSave46, !dbg !826
AfterCoroSave46: ; preds = %CoroSave45
%ref.tmp14.reload.addr = getelementptr inbounds %_Z3foov.Frame, %_Z3foov.Frame* %FramePtr, i32 0, i32 10, !dbg !826
%agg.tmp13.reload.addr = getelementptr inbounds %_Z3foov.Frame, %_Z3foov.Frame* %FramePtr, i32 0, i32 9, !dbg !826
%ref.tmp11.reload.addr64 = getelementptr inbounds %_Z3foov.Frame, %_Z3foov.Frame* %FramePtr, i32 0, i32 8, !dbg !826
%call15 = call i8* @_ZNSt12experimental13coroutines_v116coroutine_handleIN4coro12promise_typeEE12from_addressEPv(i8* %vFrame) #2, !dbg !826
%coerce.dive16 = getelementptr inbounds %"class.std::experimental::coroutines_v1::coroutine_handle", %"class.std::experimental::coroutines_v1::coroutine_handle"* %ref.tmp14.reload.addr, i32 0, i32 0, !dbg !826
%coerce.dive17 = getelementptr inbounds %"class.std::experimental::coroutines_v1::coroutine_handle.0", %"class.std::experimental::coroutines_v1::coroutine_handle.0"* %coerce.dive16, i32 0, i32 0, !dbg !826
store i8* %call15, i8** %coerce.dive17, align 8, !dbg !826
%2 = bitcast %"class.std::experimental::coroutines_v1::coroutine_handle"* %ref.tmp14.reload.addr to %"class.std::experimental::coroutines_v1::coroutine_handle.0"*, !dbg !826
%3 = bitcast %"class.std::experimental::coroutines_v1::coroutine_handle.0"* %agg.tmp13.reload.addr to i8*, !dbg !826
%4 = bitcast %"class.std::experimental::coroutines_v1::coroutine_handle.0"* %2 to i8*, !dbg !826
call void @llvm.memcpy.p0i8.p0i8.i64(i8* align 8 %3, i8* align 8 %4, i64 8, i1 false), !dbg !826
%coerce.dive18 = getelementptr inbounds %"class.std::experimental::coroutines_v1::coroutine_handle.0", %"class.std::experimental::coroutines_v1::coroutine_handle.0"* %agg.tmp13.reload.addr, i32 0, i32 0, !dbg !826
%5 = load i8*, i8** %coerce.dive18, align 8, !dbg !826
call void @_ZNKSt12experimental13coroutines_v114suspend_always13await_suspendENS0_16coroutine_handleIvEE(%"struct.std::experimental::coroutines_v1::suspend_always"* %ref.tmp11.reload.addr64, i8* %5) #2, !dbg !826
br label %CoroSuspend47, !dbg !827
CoroSuspend47: ; preds = %AfterCoroSave46
br label %resume.1.landing, !dbg !827
resume.1: ; preds = %resume.entry
br label %resume.1.landing, !dbg !827
resume.1.landing: ; preds = %resume.1, %CoroSuspend47
%6 = phi i8 [ -1, %CoroSuspend47 ], [ 0, %resume.1 ]
br label %AfterCoroSuspend48, !dbg !827
AfterCoroSuspend48: ; preds = %resume.1.landing
switch i8 %6, label %coro.ret [
i8 0, label %await.ready
i8 1, label %await.cleanup
], !dbg !827
await.cleanup: ; preds = %AfterCoroSuspend48
br label %cleanup.from.await.cleanup, !dbg !827
cleanup.from.await.cleanup: ; preds = %await.cleanup
%.cleanup59 = phi i32 [ 2, %await.cleanup ]
br label %cleanup, !dbg !827
await.ready: ; preds = %AfterCoroSuspend48, %init.ready
%ref.tmp22.reload.addr68 = getelementptr inbounds %_Z3foov.Frame, %_Z3foov.Frame* %FramePtr, i32 0, i32 12, !dbg !826
%j.reload.addr66 = getelementptr inbounds %_Z3foov.Frame, %_Z3foov.Frame* %FramePtr, i32 0, i32 11, !dbg !826
%ref.tmp11.reload.addr = getelementptr inbounds %_Z3foov.Frame, %_Z3foov.Frame* %FramePtr, i32 0, i32 8, !dbg !826
%i.reload.addr62 = getelementptr inbounds %_Z3foov.Frame, %_Z3foov.Frame* %FramePtr, i32 0, i32 7, !dbg !826
call void @_ZNKSt12experimental13coroutines_v114suspend_always12await_resumeEv(%"struct.std::experimental::coroutines_v1::suspend_always"* %ref.tmp11.reload.addr) #2, !dbg !826
call void @llvm.dbg.declare(metadata !2, metadata !828, metadata !DIExpression()), !dbg !829
store i32 0, i32* %j.reload.addr66, align 4, !dbg !829
%7 = load i32, i32* %i.reload.addr62, align 4, !dbg !830
%inc19 = add nsw i32 %7, 1, !dbg !830
store i32 %inc19, i32* %i.reload.addr62, align 4, !dbg !830
%8 = load i32, i32* %j.reload.addr66, align 4, !dbg !831
%inc20 = add nsw i32 %8, 1, !dbg !831
store i32 %inc20, i32* %j.reload.addr66, align 4, !dbg !831
%9 = load i32, i32* %i.reload.addr62, align 4, !dbg !832
%10 = load i32, i32* %j.reload.addr66, align 4, !dbg !833
%call21 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.1, i64 0, i64 0), i32 %9, i32 %10), !dbg !834
%call23 = call zeroext i1 @_ZNKSt12experimental13coroutines_v114suspend_always11await_readyEv(%"struct.std::experimental::coroutines_v1::suspend_always"* %ref.tmp22.reload.addr68) #2, !dbg !835
br i1 %call23, label %await2.ready, label %CoroSave49, !dbg !836
CoroSave49: ; preds = %await.ready
%index.addr74 = getelementptr inbounds %_Z3foov.Frame, %_Z3foov.Frame* %FramePtr, i32 0, i32 3, !dbg !836
store i2 -2, i2* %index.addr74, !dbg !836
br label %AfterCoroSave50, !dbg !835
AfterCoroSave50: ; preds = %CoroSave49
%ref.tmp25.reload.addr = getelementptr inbounds %_Z3foov.Frame, %_Z3foov.Frame* %FramePtr, i32 0, i32 14, !dbg !835
%agg.tmp24.reload.addr = getelementptr inbounds %_Z3foov.Frame, %_Z3foov.Frame* %FramePtr, i32 0, i32 13, !dbg !835
%ref.tmp22.reload.addr67 = getelementptr inbounds %_Z3foov.Frame, %_Z3foov.Frame* %FramePtr, i32 0, i32 12, !dbg !835
%call26 = call i8* @_ZNSt12experimental13coroutines_v116coroutine_handleIN4coro12promise_typeEE12from_addressEPv(i8* %vFrame) #2, !dbg !835
%coerce.dive27 = getelementptr inbounds %"class.std::experimental::coroutines_v1::coroutine_handle", %"class.std::experimental::coroutines_v1::coroutine_handle"* %ref.tmp25.reload.addr, i32 0, i32 0, !dbg !835
%coerce.dive28 = getelementptr inbounds %"class.std::experimental::coroutines_v1::coroutine_handle.0", %"class.std::experimental::coroutines_v1::coroutine_handle.0"* %coerce.dive27, i32 0, i32 0, !dbg !835
store i8* %call26, i8** %coerce.dive28, align 8, !dbg !835
%11 = bitcast %"class.std::experimental::coroutines_v1::coroutine_handle"* %ref.tmp25.reload.addr to %"class.std::experimental::coroutines_v1::coroutine_handle.0"*, !dbg !835
%12 = bitcast %"class.std::experimental::coroutines_v1::coroutine_handle.0"* %agg.tmp24.reload.addr to i8*, !dbg !835
%13 = bitcast %"class.std::experimental::coroutines_v1::coroutine_handle.0"* %11 to i8*, !dbg !835
call void @llvm.memcpy.p0i8.p0i8.i64(i8* align 8 %12, i8* align 8 %13, i64 8, i1 false), !dbg !835
%coerce.dive29 = getelementptr inbounds %"class.std::experimental::coroutines_v1::coroutine_handle.0", %"class.std::experimental::coroutines_v1::coroutine_handle.0"* %agg.tmp24.reload.addr, i32 0, i32 0, !dbg !835
%14 = load i8*, i8** %coerce.dive29, align 8, !dbg !835
call void @_ZNKSt12experimental13coroutines_v114suspend_always13await_suspendENS0_16coroutine_handleIvEE(%"struct.std::experimental::coroutines_v1::suspend_always"* %ref.tmp22.reload.addr67, i8* %14) #2, !dbg !835
br label %CoroSuspend51, !dbg !836
CoroSuspend51: ; preds = %AfterCoroSave50
br label %resume.2.landing, !dbg !836
resume.2: ; preds = %resume.entry
br label %resume.2.landing, !dbg !836
resume.2.landing: ; preds = %resume.2, %CoroSuspend51
%15 = phi i8 [ -1, %CoroSuspend51 ], [ 0, %resume.2 ]
br label %AfterCoroSuspend52, !dbg !836
AfterCoroSuspend52: ; preds = %resume.2.landing
switch i8 %15, label %coro.ret [
i8 0, label %await2.ready
i8 1, label %await2.cleanup
], !dbg !836
await2.cleanup: ; preds = %AfterCoroSuspend52
br label %cleanup.from.await2.cleanup, !dbg !836
cleanup.from.await2.cleanup: ; preds = %await2.cleanup
%.cleanup58 = phi i32 [ 2, %await2.cleanup ]
br label %cleanup, !dbg !836
await2.ready: ; preds = %AfterCoroSuspend52, %await.ready
%ref.tmp22.reload.addr = getelementptr inbounds %_Z3foov.Frame, %_Z3foov.Frame* %FramePtr, i32 0, i32 12, !dbg !835
%j.reload.addr = getelementptr inbounds %_Z3foov.Frame, %_Z3foov.Frame* %FramePtr, i32 0, i32 11, !dbg !835
%i.reload.addr = getelementptr inbounds %_Z3foov.Frame, %_Z3foov.Frame* %FramePtr, i32 0, i32 7, !dbg !835
call void @_ZNKSt12experimental13coroutines_v114suspend_always12await_resumeEv(%"struct.std::experimental::coroutines_v1::suspend_always"* %ref.tmp22.reload.addr) #2, !dbg !835
%16 = load i32, i32* %i.reload.addr, align 4, !dbg !837
%inc30 = add nsw i32 %16, 1, !dbg !837
store i32 %inc30, i32* %i.reload.addr, align 4, !dbg !837
%17 = load i32, i32* %j.reload.addr, align 4, !dbg !838
%inc31 = add nsw i32 %17, 1, !dbg !838
store i32 %inc31, i32* %j.reload.addr, align 4, !dbg !838
%18 = load i32, i32* %j.reload.addr, align 4, !dbg !839
%19 = load i32, i32* %i.reload.addr, align 4, !dbg !840
%call32 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.1, i64 0, i64 0), i32 %18, i32 %19), !dbg !841
call void @_ZN4coro12promise_type11return_voidEv(%"struct.coro::promise_type"* %__promise), !dbg !819
br label %coro.final, !dbg !819
coro.final: ; preds = %await2.ready
%ref.tmp33.reload.addr70 = getelementptr inbounds %_Z3foov.Frame, %_Z3foov.Frame* %FramePtr, i32 0, i32 15, !dbg !819
call void @_ZN4coro12promise_type13final_suspendEv(%"struct.coro::promise_type"* %__promise), !dbg !819
%call35 = call zeroext i1 @_ZNKSt12experimental13coroutines_v113suspend_never11await_readyEv(%"struct.std::experimental::coroutines_v1::suspend_never"* %ref.tmp33.reload.addr70) #2, !dbg !819
br i1 %call35, label %final.ready, label %CoroSave53, !dbg !819
CoroSave53: ; preds = %coro.final
%ResumeFn.addr = getelementptr inbounds %_Z3foov.Frame, %_Z3foov.Frame* %FramePtr, i32 0, i32 0, !dbg !819
store void (%_Z3foov.Frame*)* null, void (%_Z3foov.Frame*)** %ResumeFn.addr, !dbg !819
br label %AfterCoroSave54, !dbg !819
AfterCoroSave54: ; preds = %CoroSave53
%ref.tmp37.reload.addr = getelementptr inbounds %_Z3foov.Frame, %_Z3foov.Frame* %FramePtr, i32 0, i32 17, !dbg !819
%agg.tmp36.reload.addr = getelementptr inbounds %_Z3foov.Frame, %_Z3foov.Frame* %FramePtr, i32 0, i32 16, !dbg !819
%ref.tmp33.reload.addr69 = getelementptr inbounds %_Z3foov.Frame, %_Z3foov.Frame* %FramePtr, i32 0, i32 15, !dbg !819
%call38 = call i8* @_ZNSt12experimental13coroutines_v116coroutine_handleIN4coro12promise_typeEE12from_addressEPv(i8* %vFrame) #2, !dbg !819
%coerce.dive39 = getelementptr inbounds %"class.std::experimental::coroutines_v1::coroutine_handle", %"class.std::experimental::coroutines_v1::coroutine_handle"* %ref.tmp37.reload.addr, i32 0, i32 0, !dbg !819
%coerce.dive40 = getelementptr inbounds %"class.std::experimental::coroutines_v1::coroutine_handle.0", %"class.std::experimental::coroutines_v1::coroutine_handle.0"* %coerce.dive39, i32 0, i32 0, !dbg !819
store i8* %call38, i8** %coerce.dive40, align 8, !dbg !819
%20 = bitcast %"class.std::experimental::coroutines_v1::coroutine_handle"* %ref.tmp37.reload.addr to %"class.std::experimental::coroutines_v1::coroutine_handle.0"*, !dbg !819
%21 = bitcast %"class.std::experimental::coroutines_v1::coroutine_handle.0"* %agg.tmp36.reload.addr to i8*, !dbg !819
%22 = bitcast %"class.std::experimental::coroutines_v1::coroutine_handle.0"* %20 to i8*, !dbg !819
call void @llvm.memcpy.p0i8.p0i8.i64(i8* align 8 %21, i8* align 8 %22, i64 8, i1 false), !dbg !819
%coerce.dive41 = getelementptr inbounds %"class.std::experimental::coroutines_v1::coroutine_handle.0", %"class.std::experimental::coroutines_v1::coroutine_handle.0"* %agg.tmp36.reload.addr, i32 0, i32 0, !dbg !819
%23 = load i8*, i8** %coerce.dive41, align 8, !dbg !819
call void @_ZNKSt12experimental13coroutines_v113suspend_never13await_suspendENS0_16coroutine_handleIvEE(%"struct.std::experimental::coroutines_v1::suspend_never"* %ref.tmp33.reload.addr69, i8* %23) #2, !dbg !819
br label %CoroSuspend55, !dbg !819
CoroSuspend55: ; preds = %AfterCoroSave54
br label %resume.3.landing, !dbg !819
resume.3.landing: ; preds = %CoroSuspend55
br label %AfterCoroSuspend56, !dbg !819
AfterCoroSuspend56: ; preds = %resume.3.landing
switch i8 -1, label %coro.ret [
i8 0, label %final.ready
i8 1, label %final.cleanup
], !dbg !819
final.cleanup: ; preds = %AfterCoroSuspend56
br label %cleanup.from.final.cleanup, !dbg !819
cleanup.from.final.cleanup: ; preds = %final.cleanup
%.cleanup57 = phi i32 [ 2, %final.cleanup ]
br label %cleanup, !dbg !819
final.ready: ; preds = %AfterCoroSuspend56, %coro.final
%ref.tmp33.reload.addr = getelementptr inbounds %_Z3foov.Frame, %_Z3foov.Frame* %FramePtr, i32 0, i32 15, !dbg !819
call void @_ZNKSt12experimental13coroutines_v113suspend_never12await_resumeEv(%"struct.std::experimental::coroutines_v1::suspend_never"* %ref.tmp33.reload.addr) #2, !dbg !819
br label %cleanup.from.final.ready, !dbg !819
cleanup.from.final.ready: ; preds = %final.ready
%.cleanup = phi i32 [ 0, %final.ready ]
br label %cleanup, !dbg !819
cleanup: ; preds = %cleanup.from.final.ready, %cleanup.from.final.cleanup, %cleanup.from.await2.cleanup, %cleanup.from.await.cleanup, %cleanup.from.init.cleanup
%cleanup.dest.slot.0 = phi i32 [ %.cleanup, %cleanup.from.final.ready ], [ %.cleanup57, %cleanup.from.final.cleanup ], [ %.cleanup58, %cleanup.from.await2.cleanup ], [ %.cleanup59, %cleanup.from.await.cleanup ], [ %.cleanup60, %cleanup.from.init.cleanup ]
%24 = icmp ne i8* %vFrame, null, !dbg !819
br i1 %24, label %coro.free, label %after.coro.free, !dbg !819
coro.free: ; preds = %cleanup
call void @_ZdlPv(i8* %vFrame) #2, !dbg !819
br label %after.coro.free, !dbg !819
after.coro.free: ; preds = %coro.free, %cleanup
switch i32 %cleanup.dest.slot.0, label %unreachable [
i32 0, label %cleanup.cont
i32 2, label %coro.ret
]
cleanup.cont: ; preds = %after.coro.free
br label %coro.ret, !dbg !819
coro.ret: ; preds = %cleanup.cont, %after.coro.free, %AfterCoroSuspend56, %AfterCoroSuspend52, %AfterCoroSuspend48, %AfterCoroSuspend
br label %CoroEnd, !dbg !819
CoroEnd: ; preds = %coro.ret
ret void, !dbg !819
unreachable: ; preds = %after.coro.free
unreachable
resume.entry: ; preds = %entry.resume
%index.addr = getelementptr inbounds %_Z3foov.Frame, %_Z3foov.Frame* %FramePtr, i32 0, i32 3
%index = load i2, i2* %index.addr
switch i2 %index, label %unreachable71 [
i2 0, label %resume.0
i2 1, label %resume.1
i2 -2, label %resume.2
]
unreachable71: ; preds = %resume.entry
unreachable, !dbg !819
}
; Function Attrs: noinline nounwind optnone uwtable
define internal fastcc void @_Z3foov.destroy(%_Z3foov.Frame* noalias nonnull %FramePtr) #0 !dbg !842 {
entry.destroy:
%vFrame = bitcast %_Z3foov.Frame* %FramePtr to i8*, !dbg !843
%__promise = getelementptr inbounds %_Z3foov.Frame, %_Z3foov.Frame* %FramePtr, i32 0, i32 2, !dbg !843
%ref.tmp = getelementptr inbounds %_Z3foov.Frame, %_Z3foov.Frame* %FramePtr, i32 0, i32 4, !dbg !843
br label %resume.entry, !dbg !843
resume.0: ; preds = %Switch
br label %resume.0.landing, !dbg !844
resume.0.landing: ; preds = %resume.0
br label %AfterCoroSuspend, !dbg !844
AfterCoroSuspend: ; preds = %resume.0.landing
switch i8 1, label %coro.ret [
i8 0, label %init.ready
i8 1, label %init.cleanup
], !dbg !844
init.cleanup: ; preds = %AfterCoroSuspend
br label %cleanup.from.init.cleanup, !dbg !844
cleanup.from.init.cleanup: ; preds = %init.cleanup
%.cleanup60 = phi i32 [ 2, %init.cleanup ]
br label %cleanup, !dbg !844
init.ready: ; preds = %AfterCoroSuspend
%ref.tmp11.reload.addr65 = getelementptr inbounds %_Z3foov.Frame, %_Z3foov.Frame* %FramePtr, i32 0, i32 8, !dbg !844
%i.reload.addr63 = getelementptr inbounds %_Z3foov.Frame, %_Z3foov.Frame* %FramePtr, i32 0, i32 7, !dbg !844
%ref.tmp.reload.addr = getelementptr inbounds %_Z3foov.Frame, %_Z3foov.Frame* %FramePtr, i32 0, i32 4, !dbg !844
call void @_ZNKSt12experimental13coroutines_v113suspend_never12await_resumeEv(%"struct.std::experimental::coroutines_v1::suspend_never"* %ref.tmp.reload.addr) #2, !dbg !844
call void @llvm.dbg.declare(metadata !2, metadata !845, metadata !DIExpression()), !dbg !847
store i32 0, i32* %i.reload.addr63, align 4, !dbg !847
%0 = load i32, i32* %i.reload.addr63, align 4, !dbg !848
%inc = add nsw i32 %0, 1, !dbg !848
store i32 %inc, i32* %i.reload.addr63, align 4, !dbg !848
%1 = load i32, i32* %i.reload.addr63, align 4, !dbg !849
%call10 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str, i64 0, i64 0), i32 %1), !dbg !850
%call12 = call zeroext i1 @_ZNKSt12experimental13coroutines_v114suspend_always11await_readyEv(%"struct.std::experimental::coroutines_v1::suspend_always"* %ref.tmp11.reload.addr65) #2, !dbg !851
br i1 %call12, label %await.ready, label %CoroSave45, !dbg !852
CoroSave45: ; preds = %init.ready
%index.addr73 = getelementptr inbounds %_Z3foov.Frame, %_Z3foov.Frame* %FramePtr, i32 0, i32 3, !dbg !852
store i2 1, i2* %index.addr73, !dbg !852
br label %AfterCoroSave46, !dbg !851
AfterCoroSave46: ; preds = %CoroSave45
%ref.tmp14.reload.addr = getelementptr inbounds %_Z3foov.Frame, %_Z3foov.Frame* %FramePtr, i32 0, i32 10, !dbg !851
%agg.tmp13.reload.addr = getelementptr inbounds %_Z3foov.Frame, %_Z3foov.Frame* %FramePtr, i32 0, i32 9, !dbg !851
%ref.tmp11.reload.addr64 = getelementptr inbounds %_Z3foov.Frame, %_Z3foov.Frame* %FramePtr, i32 0, i32 8, !dbg !851
%call15 = call i8* @_ZNSt12experimental13coroutines_v116coroutine_handleIN4coro12promise_typeEE12from_addressEPv(i8* %vFrame) #2, !dbg !851
%coerce.dive16 = getelementptr inbounds %"class.std::experimental::coroutines_v1::coroutine_handle", %"class.std::experimental::coroutines_v1::coroutine_handle"* %ref.tmp14.reload.addr, i32 0, i32 0, !dbg !851
%coerce.dive17 = getelementptr inbounds %"class.std::experimental::coroutines_v1::coroutine_handle.0", %"class.std::experimental::coroutines_v1::coroutine_handle.0"* %coerce.dive16, i32 0, i32 0, !dbg !851
store i8* %call15, i8** %coerce.dive17, align 8, !dbg !851
%2 = bitcast %"class.std::experimental::coroutines_v1::coroutine_handle"* %ref.tmp14.reload.addr to %"class.std::experimental::coroutines_v1::coroutine_handle.0"*, !dbg !851
%3 = bitcast %"class.std::experimental::coroutines_v1::coroutine_handle.0"* %agg.tmp13.reload.addr to i8*, !dbg !851
%4 = bitcast %"class.std::experimental::coroutines_v1::coroutine_handle.0"* %2 to i8*, !dbg !851
call void @llvm.memcpy.p0i8.p0i8.i64(i8* align 8 %3, i8* align 8 %4, i64 8, i1 false), !dbg !851
%coerce.dive18 = getelementptr inbounds %"class.std::experimental::coroutines_v1::coroutine_handle.0", %"class.std::experimental::coroutines_v1::coroutine_handle.0"* %agg.tmp13.reload.addr, i32 0, i32 0, !dbg !851
%5 = load i8*, i8** %coerce.dive18, align 8, !dbg !851
call void @_ZNKSt12experimental13coroutines_v114suspend_always13await_suspendENS0_16coroutine_handleIvEE(%"struct.std::experimental::coroutines_v1::suspend_always"* %ref.tmp11.reload.addr64, i8* %5) #2, !dbg !851
br label %CoroSuspend47, !dbg !852
CoroSuspend47: ; preds = %AfterCoroSave46
br label %resume.1.landing, !dbg !852
resume.1: ; preds = %Switch
br label %resume.1.landing, !dbg !852
resume.1.landing: ; preds = %resume.1, %CoroSuspend47
%6 = phi i8 [ -1, %CoroSuspend47 ], [ 1, %resume.1 ]
br label %AfterCoroSuspend48, !dbg !852
AfterCoroSuspend48: ; preds = %resume.1.landing
switch i8 %6, label %coro.ret [
i8 0, label %await.ready
i8 1, label %await.cleanup
], !dbg !852
await.cleanup: ; preds = %AfterCoroSuspend48
br label %cleanup.from.await.cleanup, !dbg !852
cleanup.from.await.cleanup: ; preds = %await.cleanup
%.cleanup59 = phi i32 [ 2, %await.cleanup ]
br label %cleanup, !dbg !852
await.ready: ; preds = %AfterCoroSuspend48, %init.ready
%ref.tmp22.reload.addr68 = getelementptr inbounds %_Z3foov.Frame, %_Z3foov.Frame* %FramePtr, i32 0, i32 12, !dbg !851
%j.reload.addr66 = getelementptr inbounds %_Z3foov.Frame, %_Z3foov.Frame* %FramePtr, i32 0, i32 11, !dbg !851
%ref.tmp11.reload.addr = getelementptr inbounds %_Z3foov.Frame, %_Z3foov.Frame* %FramePtr, i32 0, i32 8, !dbg !851
%i.reload.addr62 = getelementptr inbounds %_Z3foov.Frame, %_Z3foov.Frame* %FramePtr, i32 0, i32 7, !dbg !851
call void @_ZNKSt12experimental13coroutines_v114suspend_always12await_resumeEv(%"struct.std::experimental::coroutines_v1::suspend_always"* %ref.tmp11.reload.addr) #2, !dbg !851
call void @llvm.dbg.declare(metadata !2, metadata !853, metadata !DIExpression()), !dbg !854
store i32 0, i32* %j.reload.addr66, align 4, !dbg !854
%7 = load i32, i32* %i.reload.addr62, align 4, !dbg !855
%inc19 = add nsw i32 %7, 1, !dbg !855
store i32 %inc19, i32* %i.reload.addr62, align 4, !dbg !855
%8 = load i32, i32* %j.reload.addr66, align 4, !dbg !856
%inc20 = add nsw i32 %8, 1, !dbg !856
store i32 %inc20, i32* %j.reload.addr66, align 4, !dbg !856
%9 = load i32, i32* %i.reload.addr62, align 4, !dbg !857
%10 = load i32, i32* %j.reload.addr66, align 4, !dbg !858
%call21 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.1, i64 0, i64 0), i32 %9, i32 %10), !dbg !859
%call23 = call zeroext i1 @_ZNKSt12experimental13coroutines_v114suspend_always11await_readyEv(%"struct.std::experimental::coroutines_v1::suspend_always"* %ref.tmp22.reload.addr68) #2, !dbg !860
br i1 %call23, label %await2.ready, label %CoroSave49, !dbg !861
CoroSave49: ; preds = %await.ready
%index.addr74 = getelementptr inbounds %_Z3foov.Frame, %_Z3foov.Frame* %FramePtr, i32 0, i32 3, !dbg !861
store i2 -2, i2* %index.addr74, !dbg !861
br label %AfterCoroSave50, !dbg !860
AfterCoroSave50: ; preds = %CoroSave49
%ref.tmp25.reload.addr = getelementptr inbounds %_Z3foov.Frame, %_Z3foov.Frame* %FramePtr, i32 0, i32 14, !dbg !860
%agg.tmp24.reload.addr = getelementptr inbounds %_Z3foov.Frame, %_Z3foov.Frame* %FramePtr, i32 0, i32 13, !dbg !860
%ref.tmp22.reload.addr67 = getelementptr inbounds %_Z3foov.Frame, %_Z3foov.Frame* %FramePtr, i32 0, i32 12, !dbg !860
%call26 = call i8* @_ZNSt12experimental13coroutines_v116coroutine_handleIN4coro12promise_typeEE12from_addressEPv(i8* %vFrame) #2, !dbg !860
%coerce.dive27 = getelementptr inbounds %"class.std::experimental::coroutines_v1::coroutine_handle", %"class.std::experimental::coroutines_v1::coroutine_handle"* %ref.tmp25.reload.addr, i32 0, i32 0, !dbg !860
%coerce.dive28 = getelementptr inbounds %"class.std::experimental::coroutines_v1::coroutine_handle.0", %"class.std::experimental::coroutines_v1::coroutine_handle.0"* %coerce.dive27, i32 0, i32 0, !dbg !860
store i8* %call26, i8** %coerce.dive28, align 8, !dbg !860
%11 = bitcast %"class.std::experimental::coroutines_v1::coroutine_handle"* %ref.tmp25.reload.addr to %"class.std::experimental::coroutines_v1::coroutine_handle.0"*, !dbg !860
%12 = bitcast %"class.std::experimental::coroutines_v1::coroutine_handle.0"* %agg.tmp24.reload.addr to i8*, !dbg !860
%13 = bitcast %"class.std::experimental::coroutines_v1::coroutine_handle.0"* %11 to i8*, !dbg !860
call void @llvm.memcpy.p0i8.p0i8.i64(i8* align 8 %12, i8* align 8 %13, i64 8, i1 false), !dbg !860
%coerce.dive29 = getelementptr inbounds %"class.std::experimental::coroutines_v1::coroutine_handle.0", %"class.std::experimental::coroutines_v1::coroutine_handle.0"* %agg.tmp24.reload.addr, i32 0, i32 0, !dbg !860
%14 = load i8*, i8** %coerce.dive29, align 8, !dbg !860
call void @_ZNKSt12experimental13coroutines_v114suspend_always13await_suspendENS0_16coroutine_handleIvEE(%"struct.std::experimental::coroutines_v1::suspend_always"* %ref.tmp22.reload.addr67, i8* %14) #2, !dbg !860
br label %CoroSuspend51, !dbg !861
CoroSuspend51: ; preds = %AfterCoroSave50
br label %resume.2.landing, !dbg !861
resume.2: ; preds = %Switch
br label %resume.2.landing, !dbg !861
resume.2.landing: ; preds = %resume.2, %CoroSuspend51
%15 = phi i8 [ -1, %CoroSuspend51 ], [ 1, %resume.2 ]
br label %AfterCoroSuspend52, !dbg !861
AfterCoroSuspend52: ; preds = %resume.2.landing
switch i8 %15, label %coro.ret [
i8 0, label %await2.ready
i8 1, label %await2.cleanup
], !dbg !861
await2.cleanup: ; preds = %AfterCoroSuspend52
br label %cleanup.from.await2.cleanup, !dbg !861
cleanup.from.await2.cleanup: ; preds = %await2.cleanup
%.cleanup58 = phi i32 [ 2, %await2.cleanup ]
br label %cleanup, !dbg !861
await2.ready: ; preds = %AfterCoroSuspend52, %await.ready
%ref.tmp22.reload.addr = getelementptr inbounds %_Z3foov.Frame, %_Z3foov.Frame* %FramePtr, i32 0, i32 12, !dbg !860
%j.reload.addr = getelementptr inbounds %_Z3foov.Frame, %_Z3foov.Frame* %FramePtr, i32 0, i32 11, !dbg !860
%i.reload.addr = getelementptr inbounds %_Z3foov.Frame, %_Z3foov.Frame* %FramePtr, i32 0, i32 7, !dbg !860
call void @_ZNKSt12experimental13coroutines_v114suspend_always12await_resumeEv(%"struct.std::experimental::coroutines_v1::suspend_always"* %ref.tmp22.reload.addr) #2, !dbg !860
%16 = load i32, i32* %i.reload.addr, align 4, !dbg !862
%inc30 = add nsw i32 %16, 1, !dbg !862
store i32 %inc30, i32* %i.reload.addr, align 4, !dbg !862
%17 = load i32, i32* %j.reload.addr, align 4, !dbg !863
%inc31 = add nsw i32 %17, 1, !dbg !863
store i32 %inc31, i32* %j.reload.addr, align 4, !dbg !863
%18 = load i32, i32* %j.reload.addr, align 4, !dbg !864
%19 = load i32, i32* %i.reload.addr, align 4, !dbg !865
%call32 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.1, i64 0, i64 0), i32 %18, i32 %19), !dbg !866
call void @_ZN4coro12promise_type11return_voidEv(%"struct.coro::promise_type"* %__promise), !dbg !844
br label %coro.final, !dbg !844
coro.final: ; preds = %await2.ready
%ref.tmp33.reload.addr70 = getelementptr inbounds %_Z3foov.Frame, %_Z3foov.Frame* %FramePtr, i32 0, i32 15, !dbg !844
call void @_ZN4coro12promise_type13final_suspendEv(%"struct.coro::promise_type"* %__promise), !dbg !844
%call35 = call zeroext i1 @_ZNKSt12experimental13coroutines_v113suspend_never11await_readyEv(%"struct.std::experimental::coroutines_v1::suspend_never"* %ref.tmp33.reload.addr70) #2, !dbg !844
br i1 %call35, label %final.ready, label %CoroSave53, !dbg !844
CoroSave53: ; preds = %coro.final
%ResumeFn.addr = getelementptr inbounds %_Z3foov.Frame, %_Z3foov.Frame* %FramePtr, i32 0, i32 0, !dbg !844
store void (%_Z3foov.Frame*)* null, void (%_Z3foov.Frame*)** %ResumeFn.addr, !dbg !844
br label %AfterCoroSave54, !dbg !844
AfterCoroSave54: ; preds = %CoroSave53
%ref.tmp37.reload.addr = getelementptr inbounds %_Z3foov.Frame, %_Z3foov.Frame* %FramePtr, i32 0, i32 17, !dbg !844
%agg.tmp36.reload.addr = getelementptr inbounds %_Z3foov.Frame, %_Z3foov.Frame* %FramePtr, i32 0, i32 16, !dbg !844
%ref.tmp33.reload.addr69 = getelementptr inbounds %_Z3foov.Frame, %_Z3foov.Frame* %FramePtr, i32 0, i32 15, !dbg !844
%call38 = call i8* @_ZNSt12experimental13coroutines_v116coroutine_handleIN4coro12promise_typeEE12from_addressEPv(i8* %vFrame) #2, !dbg !844
%coerce.dive39 = getelementptr inbounds %"class.std::experimental::coroutines_v1::coroutine_handle", %"class.std::experimental::coroutines_v1::coroutine_handle"* %ref.tmp37.reload.addr, i32 0, i32 0, !dbg !844
%coerce.dive40 = getelementptr inbounds %"class.std::experimental::coroutines_v1::coroutine_handle.0", %"class.std::experimental::coroutines_v1::coroutine_handle.0"* %coerce.dive39, i32 0, i32 0, !dbg !844
store i8* %call38, i8** %coerce.dive40, align 8, !dbg !844
%20 = bitcast %"class.std::experimental::coroutines_v1::coroutine_handle"* %ref.tmp37.reload.addr to %"class.std::experimental::coroutines_v1::coroutine_handle.0"*, !dbg !844
%21 = bitcast %"class.std::experimental::coroutines_v1::coroutine_handle.0"* %agg.tmp36.reload.addr to i8*, !dbg !844
%22 = bitcast %"class.std::experimental::coroutines_v1::coroutine_handle.0"* %20 to i8*, !dbg !844
call void @llvm.memcpy.p0i8.p0i8.i64(i8* align 8 %21, i8* align 8 %22, i64 8, i1 false), !dbg !844
%coerce.dive41 = getelementptr inbounds %"class.std::experimental::coroutines_v1::coroutine_handle.0", %"class.std::experimental::coroutines_v1::coroutine_handle.0"* %agg.tmp36.reload.addr, i32 0, i32 0, !dbg !844
%23 = load i8*, i8** %coerce.dive41, align 8, !dbg !844
call void @_ZNKSt12experimental13coroutines_v113suspend_never13await_suspendENS0_16coroutine_handleIvEE(%"struct.std::experimental::coroutines_v1::suspend_never"* %ref.tmp33.reload.addr69, i8* %23) #2, !dbg !844
br label %CoroSuspend55, !dbg !844
CoroSuspend55: ; preds = %AfterCoroSave54
br label %resume.3.landing, !dbg !844
resume.3: ; preds = %resume.entry
br label %resume.3.landing, !dbg !844
resume.3.landing: ; preds = %resume.3, %CoroSuspend55
%24 = phi i8 [ -1, %CoroSuspend55 ], [ 1, %resume.3 ]
br label %AfterCoroSuspend56, !dbg !844
AfterCoroSuspend56: ; preds = %resume.3.landing
switch i8 %24, label %coro.ret [
i8 0, label %final.ready
i8 1, label %final.cleanup
], !dbg !844
final.cleanup: ; preds = %AfterCoroSuspend56
br label %cleanup.from.final.cleanup, !dbg !844
cleanup.from.final.cleanup: ; preds = %final.cleanup
%.cleanup57 = phi i32 [ 2, %final.cleanup ]
br label %cleanup, !dbg !844
final.ready: ; preds = %AfterCoroSuspend56, %coro.final
%ref.tmp33.reload.addr = getelementptr inbounds %_Z3foov.Frame, %_Z3foov.Frame* %FramePtr, i32 0, i32 15, !dbg !844
call void @_ZNKSt12experimental13coroutines_v113suspend_never12await_resumeEv(%"struct.std::experimental::coroutines_v1::suspend_never"* %ref.tmp33.reload.addr) #2, !dbg !844
br label %cleanup.from.final.ready, !dbg !844
cleanup.from.final.ready: ; preds = %final.ready
%.cleanup = phi i32 [ 0, %final.ready ]
br label %cleanup, !dbg !844
cleanup: ; preds = %cleanup.from.final.ready, %cleanup.from.final.cleanup, %cleanup.from.await2.cleanup, %cleanup.from.await.cleanup, %cleanup.from.init.cleanup
%cleanup.dest.slot.0 = phi i32 [ %.cleanup, %cleanup.from.final.ready ], [ %.cleanup57, %cleanup.from.final.cleanup ], [ %.cleanup58, %cleanup.from.await2.cleanup ], [ %.cleanup59, %cleanup.from.await.cleanup ], [ %.cleanup60, %cleanup.from.init.cleanup ]
%25 = icmp ne i8* %vFrame, null, !dbg !844
br i1 %25, label %coro.free, label %after.coro.free, !dbg !844
coro.free: ; preds = %cleanup
call void @_ZdlPv(i8* %vFrame) #2, !dbg !844
br label %after.coro.free, !dbg !844
after.coro.free: ; preds = %coro.free, %cleanup
switch i32 %cleanup.dest.slot.0, label %unreachable [
i32 0, label %cleanup.cont
i32 2, label %coro.ret
]
cleanup.cont: ; preds = %after.coro.free
br label %coro.ret, !dbg !844
coro.ret: ; preds = %cleanup.cont, %after.coro.free, %AfterCoroSuspend56, %AfterCoroSuspend52, %AfterCoroSuspend48, %AfterCoroSuspend
br label %CoroEnd, !dbg !844
CoroEnd: ; preds = %coro.ret
ret void, !dbg !844
unreachable: ; preds = %after.coro.free
unreachable
resume.entry: ; preds = %entry.destroy
%index.addr = getelementptr inbounds %_Z3foov.Frame, %_Z3foov.Frame* %FramePtr, i32 0, i32 3
%index = load i2, i2* %index.addr
%ResumeFn.addr1 = getelementptr inbounds %_Z3foov.Frame, %_Z3foov.Frame* %FramePtr, i32 0, i32 0
%26 = load void (%_Z3foov.Frame*)*, void (%_Z3foov.Frame*)** %ResumeFn.addr1
%27 = icmp eq void (%_Z3foov.Frame*)* %26, null
br i1 %27, label %resume.3, label %Switch
Switch: ; preds = %resume.entry
switch i2 %index, label %unreachable71 [
i2 0, label %resume.0
i2 1, label %resume.1
i2 -2, label %resume.2
]
unreachable71: ; preds = %Switch
unreachable, !dbg !844
}
; Function Attrs: noinline nounwind optnone uwtable
define internal fastcc void @_Z3foov.cleanup(%_Z3foov.Frame* noalias nonnull %FramePtr) #0 !dbg !867 {
entry.cleanup:
%vFrame = bitcast %_Z3foov.Frame* %FramePtr to i8*, !dbg !868
%__promise = getelementptr inbounds %_Z3foov.Frame, %_Z3foov.Frame* %FramePtr, i32 0, i32 2, !dbg !868
%ref.tmp = getelementptr inbounds %_Z3foov.Frame, %_Z3foov.Frame* %FramePtr, i32 0, i32 4, !dbg !868
br label %resume.entry, !dbg !868
resume.0: ; preds = %Switch
br label %resume.0.landing, !dbg !869
resume.0.landing: ; preds = %resume.0
br label %AfterCoroSuspend, !dbg !869
AfterCoroSuspend: ; preds = %resume.0.landing
switch i8 1, label %coro.ret [
i8 0, label %init.ready
i8 1, label %init.cleanup
], !dbg !869
init.cleanup: ; preds = %AfterCoroSuspend
br label %cleanup.from.init.cleanup, !dbg !869
cleanup.from.init.cleanup: ; preds = %init.cleanup
%.cleanup60 = phi i32 [ 2, %init.cleanup ]
br label %cleanup, !dbg !869
init.ready: ; preds = %AfterCoroSuspend
%ref.tmp11.reload.addr65 = getelementptr inbounds %_Z3foov.Frame, %_Z3foov.Frame* %FramePtr, i32 0, i32 8, !dbg !869
%i.reload.addr63 = getelementptr inbounds %_Z3foov.Frame, %_Z3foov.Frame* %FramePtr, i32 0, i32 7, !dbg !869
%ref.tmp.reload.addr = getelementptr inbounds %_Z3foov.Frame, %_Z3foov.Frame* %FramePtr, i32 0, i32 4, !dbg !869
call void @_ZNKSt12experimental13coroutines_v113suspend_never12await_resumeEv(%"struct.std::experimental::coroutines_v1::suspend_never"* %ref.tmp.reload.addr) #2, !dbg !869
call void @llvm.dbg.declare(metadata !2, metadata !870, metadata !DIExpression()), !dbg !872
store i32 0, i32* %i.reload.addr63, align 4, !dbg !872
%0 = load i32, i32* %i.reload.addr63, align 4, !dbg !873
%inc = add nsw i32 %0, 1, !dbg !873
store i32 %inc, i32* %i.reload.addr63, align 4, !dbg !873
%1 = load i32, i32* %i.reload.addr63, align 4, !dbg !874
%call10 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str, i64 0, i64 0), i32 %1), !dbg !875
%call12 = call zeroext i1 @_ZNKSt12experimental13coroutines_v114suspend_always11await_readyEv(%"struct.std::experimental::coroutines_v1::suspend_always"* %ref.tmp11.reload.addr65) #2, !dbg !876
br i1 %call12, label %await.ready, label %CoroSave45, !dbg !877
CoroSave45: ; preds = %init.ready
%index.addr73 = getelementptr inbounds %_Z3foov.Frame, %_Z3foov.Frame* %FramePtr, i32 0, i32 3, !dbg !877
store i2 1, i2* %index.addr73, !dbg !877
br label %AfterCoroSave46, !dbg !876
AfterCoroSave46: ; preds = %CoroSave45
%ref.tmp14.reload.addr = getelementptr inbounds %_Z3foov.Frame, %_Z3foov.Frame* %FramePtr, i32 0, i32 10, !dbg !876
%agg.tmp13.reload.addr = getelementptr inbounds %_Z3foov.Frame, %_Z3foov.Frame* %FramePtr, i32 0, i32 9, !dbg !876
%ref.tmp11.reload.addr64 = getelementptr inbounds %_Z3foov.Frame, %_Z3foov.Frame* %FramePtr, i32 0, i32 8, !dbg !876
%call15 = call i8* @_ZNSt12experimental13coroutines_v116coroutine_handleIN4coro12promise_typeEE12from_addressEPv(i8* %vFrame) #2, !dbg !876
%coerce.dive16 = getelementptr inbounds %"class.std::experimental::coroutines_v1::coroutine_handle", %"class.std::experimental::coroutines_v1::coroutine_handle"* %ref.tmp14.reload.addr, i32 0, i32 0, !dbg !876
%coerce.dive17 = getelementptr inbounds %"class.std::experimental::coroutines_v1::coroutine_handle.0", %"class.std::experimental::coroutines_v1::coroutine_handle.0"* %coerce.dive16, i32 0, i32 0, !dbg !876
store i8* %call15, i8** %coerce.dive17, align 8, !dbg !876
%2 = bitcast %"class.std::experimental::coroutines_v1::coroutine_handle"* %ref.tmp14.reload.addr to %"class.std::experimental::coroutines_v1::coroutine_handle.0"*, !dbg !876
%3 = bitcast %"class.std::experimental::coroutines_v1::coroutine_handle.0"* %agg.tmp13.reload.addr to i8*, !dbg !876
%4 = bitcast %"class.std::experimental::coroutines_v1::coroutine_handle.0"* %2 to i8*, !dbg !876
call void @llvm.memcpy.p0i8.p0i8.i64(i8* align 8 %3, i8* align 8 %4, i64 8, i1 false), !dbg !876
%coerce.dive18 = getelementptr inbounds %"class.std::experimental::coroutines_v1::coroutine_handle.0", %"class.std::experimental::coroutines_v1::coroutine_handle.0"* %agg.tmp13.reload.addr, i32 0, i32 0, !dbg !876
%5 = load i8*, i8** %coerce.dive18, align 8, !dbg !876
call void @_ZNKSt12experimental13coroutines_v114suspend_always13await_suspendENS0_16coroutine_handleIvEE(%"struct.std::experimental::coroutines_v1::suspend_always"* %ref.tmp11.reload.addr64, i8* %5) #2, !dbg !876
br label %CoroSuspend47, !dbg !877
CoroSuspend47: ; preds = %AfterCoroSave46
br label %resume.1.landing, !dbg !877
resume.1: ; preds = %Switch
br label %resume.1.landing, !dbg !877
resume.1.landing: ; preds = %resume.1, %CoroSuspend47
%6 = phi i8 [ -1, %CoroSuspend47 ], [ 1, %resume.1 ]
br label %AfterCoroSuspend48, !dbg !877
AfterCoroSuspend48: ; preds = %resume.1.landing
switch i8 %6, label %coro.ret [
i8 0, label %await.ready
i8 1, label %await.cleanup
], !dbg !877
await.cleanup: ; preds = %AfterCoroSuspend48
br label %cleanup.from.await.cleanup, !dbg !877
cleanup.from.await.cleanup: ; preds = %await.cleanup
%.cleanup59 = phi i32 [ 2, %await.cleanup ]
br label %cleanup, !dbg !877
await.ready: ; preds = %AfterCoroSuspend48, %init.ready
%ref.tmp22.reload.addr68 = getelementptr inbounds %_Z3foov.Frame, %_Z3foov.Frame* %FramePtr, i32 0, i32 12, !dbg !876
%j.reload.addr66 = getelementptr inbounds %_Z3foov.Frame, %_Z3foov.Frame* %FramePtr, i32 0, i32 11, !dbg !876
%ref.tmp11.reload.addr = getelementptr inbounds %_Z3foov.Frame, %_Z3foov.Frame* %FramePtr, i32 0, i32 8, !dbg !876
%i.reload.addr62 = getelementptr inbounds %_Z3foov.Frame, %_Z3foov.Frame* %FramePtr, i32 0, i32 7, !dbg !876
call void @_ZNKSt12experimental13coroutines_v114suspend_always12await_resumeEv(%"struct.std::experimental::coroutines_v1::suspend_always"* %ref.tmp11.reload.addr) #2, !dbg !876
call void @llvm.dbg.declare(metadata !2, metadata !878, metadata !DIExpression()), !dbg !879
store i32 0, i32* %j.reload.addr66, align 4, !dbg !879
%7 = load i32, i32* %i.reload.addr62, align 4, !dbg !880
%inc19 = add nsw i32 %7, 1, !dbg !880
store i32 %inc19, i32* %i.reload.addr62, align 4, !dbg !880
%8 = load i32, i32* %j.reload.addr66, align 4, !dbg !881
%inc20 = add nsw i32 %8, 1, !dbg !881
store i32 %inc20, i32* %j.reload.addr66, align 4, !dbg !881
%9 = load i32, i32* %i.reload.addr62, align 4, !dbg !882
%10 = load i32, i32* %j.reload.addr66, align 4, !dbg !883
%call21 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.1, i64 0, i64 0), i32 %9, i32 %10), !dbg !884
%call23 = call zeroext i1 @_ZNKSt12experimental13coroutines_v114suspend_always11await_readyEv(%"struct.std::experimental::coroutines_v1::suspend_always"* %ref.tmp22.reload.addr68) #2, !dbg !885
br i1 %call23, label %await2.ready, label %CoroSave49, !dbg !886
CoroSave49: ; preds = %await.ready
%index.addr74 = getelementptr inbounds %_Z3foov.Frame, %_Z3foov.Frame* %FramePtr, i32 0, i32 3, !dbg !886
store i2 -2, i2* %index.addr74, !dbg !886
br label %AfterCoroSave50, !dbg !885
AfterCoroSave50: ; preds = %CoroSave49
%ref.tmp25.reload.addr = getelementptr inbounds %_Z3foov.Frame, %_Z3foov.Frame* %FramePtr, i32 0, i32 14, !dbg !885
%agg.tmp24.reload.addr = getelementptr inbounds %_Z3foov.Frame, %_Z3foov.Frame* %FramePtr, i32 0, i32 13, !dbg !885
%ref.tmp22.reload.addr67 = getelementptr inbounds %_Z3foov.Frame, %_Z3foov.Frame* %FramePtr, i32 0, i32 12, !dbg !885
%call26 = call i8* @_ZNSt12experimental13coroutines_v116coroutine_handleIN4coro12promise_typeEE12from_addressEPv(i8* %vFrame) #2, !dbg !885
%coerce.dive27 = getelementptr inbounds %"class.std::experimental::coroutines_v1::coroutine_handle", %"class.std::experimental::coroutines_v1::coroutine_handle"* %ref.tmp25.reload.addr, i32 0, i32 0, !dbg !885
%coerce.dive28 = getelementptr inbounds %"class.std::experimental::coroutines_v1::coroutine_handle.0", %"class.std::experimental::coroutines_v1::coroutine_handle.0"* %coerce.dive27, i32 0, i32 0, !dbg !885
store i8* %call26, i8** %coerce.dive28, align 8, !dbg !885
%11 = bitcast %"class.std::experimental::coroutines_v1::coroutine_handle"* %ref.tmp25.reload.addr to %"class.std::experimental::coroutines_v1::coroutine_handle.0"*, !dbg !885
%12 = bitcast %"class.std::experimental::coroutines_v1::coroutine_handle.0"* %agg.tmp24.reload.addr to i8*, !dbg !885
%13 = bitcast %"class.std::experimental::coroutines_v1::coroutine_handle.0"* %11 to i8*, !dbg !885
call void @llvm.memcpy.p0i8.p0i8.i64(i8* align 8 %12, i8* align 8 %13, i64 8, i1 false), !dbg !885
%coerce.dive29 = getelementptr inbounds %"class.std::experimental::coroutines_v1::coroutine_handle.0", %"class.std::experimental::coroutines_v1::coroutine_handle.0"* %agg.tmp24.reload.addr, i32 0, i32 0, !dbg !885
%14 = load i8*, i8** %coerce.dive29, align 8, !dbg !885
call void @_ZNKSt12experimental13coroutines_v114suspend_always13await_suspendENS0_16coroutine_handleIvEE(%"struct.std::experimental::coroutines_v1::suspend_always"* %ref.tmp22.reload.addr67, i8* %14) #2, !dbg !885
br label %CoroSuspend51, !dbg !886
CoroSuspend51: ; preds = %AfterCoroSave50
br label %resume.2.landing, !dbg !886
resume.2: ; preds = %Switch
br label %resume.2.landing, !dbg !886
resume.2.landing: ; preds = %resume.2, %CoroSuspend51
%15 = phi i8 [ -1, %CoroSuspend51 ], [ 1, %resume.2 ]
br label %AfterCoroSuspend52, !dbg !886
AfterCoroSuspend52: ; preds = %resume.2.landing
switch i8 %15, label %coro.ret [
i8 0, label %await2.ready
i8 1, label %await2.cleanup
], !dbg !886
await2.cleanup: ; preds = %AfterCoroSuspend52
br label %cleanup.from.await2.cleanup, !dbg !886
cleanup.from.await2.cleanup: ; preds = %await2.cleanup
%.cleanup58 = phi i32 [ 2, %await2.cleanup ]
br label %cleanup, !dbg !886
await2.ready: ; preds = %AfterCoroSuspend52, %await.ready
%ref.tmp22.reload.addr = getelementptr inbounds %_Z3foov.Frame, %_Z3foov.Frame* %FramePtr, i32 0, i32 12, !dbg !885
%j.reload.addr = getelementptr inbounds %_Z3foov.Frame, %_Z3foov.Frame* %FramePtr, i32 0, i32 11, !dbg !885
%i.reload.addr = getelementptr inbounds %_Z3foov.Frame, %_Z3foov.Frame* %FramePtr, i32 0, i32 7, !dbg !885
call void @_ZNKSt12experimental13coroutines_v114suspend_always12await_resumeEv(%"struct.std::experimental::coroutines_v1::suspend_always"* %ref.tmp22.reload.addr) #2, !dbg !885
%16 = load i32, i32* %i.reload.addr, align 4, !dbg !887
%inc30 = add nsw i32 %16, 1, !dbg !887
store i32 %inc30, i32* %i.reload.addr, align 4, !dbg !887
%17 = load i32, i32* %j.reload.addr, align 4, !dbg !888
%inc31 = add nsw i32 %17, 1, !dbg !888
store i32 %inc31, i32* %j.reload.addr, align 4, !dbg !888
%18 = load i32, i32* %j.reload.addr, align 4, !dbg !889
%19 = load i32, i32* %i.reload.addr, align 4, !dbg !890
%call32 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.1, i64 0, i64 0), i32 %18, i32 %19), !dbg !891
call void @_ZN4coro12promise_type11return_voidEv(%"struct.coro::promise_type"* %__promise), !dbg !869
br label %coro.final, !dbg !869
coro.final: ; preds = %await2.ready
%ref.tmp33.reload.addr70 = getelementptr inbounds %_Z3foov.Frame, %_Z3foov.Frame* %FramePtr, i32 0, i32 15, !dbg !869
call void @_ZN4coro12promise_type13final_suspendEv(%"struct.coro::promise_type"* %__promise), !dbg !869
%call35 = call zeroext i1 @_ZNKSt12experimental13coroutines_v113suspend_never11await_readyEv(%"struct.std::experimental::coroutines_v1::suspend_never"* %ref.tmp33.reload.addr70) #2, !dbg !869
br i1 %call35, label %final.ready, label %CoroSave53, !dbg !869
CoroSave53: ; preds = %coro.final
%ResumeFn.addr = getelementptr inbounds %_Z3foov.Frame, %_Z3foov.Frame* %FramePtr, i32 0, i32 0, !dbg !869
store void (%_Z3foov.Frame*)* null, void (%_Z3foov.Frame*)** %ResumeFn.addr, !dbg !869
br label %AfterCoroSave54, !dbg !869
AfterCoroSave54: ; preds = %CoroSave53
%ref.tmp37.reload.addr = getelementptr inbounds %_Z3foov.Frame, %_Z3foov.Frame* %FramePtr, i32 0, i32 17, !dbg !869
%agg.tmp36.reload.addr = getelementptr inbounds %_Z3foov.Frame, %_Z3foov.Frame* %FramePtr, i32 0, i32 16, !dbg !869
%ref.tmp33.reload.addr69 = getelementptr inbounds %_Z3foov.Frame, %_Z3foov.Frame* %FramePtr, i32 0, i32 15, !dbg !869
%call38 = call i8* @_ZNSt12experimental13coroutines_v116coroutine_handleIN4coro12promise_typeEE12from_addressEPv(i8* %vFrame) #2, !dbg !869
%coerce.dive39 = getelementptr inbounds %"class.std::experimental::coroutines_v1::coroutine_handle", %"class.std::experimental::coroutines_v1::coroutine_handle"* %ref.tmp37.reload.addr, i32 0, i32 0, !dbg !869
%coerce.dive40 = getelementptr inbounds %"class.std::experimental::coroutines_v1::coroutine_handle.0", %"class.std::experimental::coroutines_v1::coroutine_handle.0"* %coerce.dive39, i32 0, i32 0, !dbg !869
store i8* %call38, i8** %coerce.dive40, align 8, !dbg !869
%20 = bitcast %"class.std::experimental::coroutines_v1::coroutine_handle"* %ref.tmp37.reload.addr to %"class.std::experimental::coroutines_v1::coroutine_handle.0"*, !dbg !869
%21 = bitcast %"class.std::experimental::coroutines_v1::coroutine_handle.0"* %agg.tmp36.reload.addr to i8*, !dbg !869
%22 = bitcast %"class.std::experimental::coroutines_v1::coroutine_handle.0"* %20 to i8*, !dbg !869
call void @llvm.memcpy.p0i8.p0i8.i64(i8* align 8 %21, i8* align 8 %22, i64 8, i1 false), !dbg !869
%coerce.dive41 = getelementptr inbounds %"class.std::experimental::coroutines_v1::coroutine_handle.0", %"class.std::experimental::coroutines_v1::coroutine_handle.0"* %agg.tmp36.reload.addr, i32 0, i32 0, !dbg !869
%23 = load i8*, i8** %coerce.dive41, align 8, !dbg !869
call void @_ZNKSt12experimental13coroutines_v113suspend_never13await_suspendENS0_16coroutine_handleIvEE(%"struct.std::experimental::coroutines_v1::suspend_never"* %ref.tmp33.reload.addr69, i8* %23) #2, !dbg !869
br label %CoroSuspend55, !dbg !869
CoroSuspend55: ; preds = %AfterCoroSave54
br label %resume.3.landing, !dbg !869
resume.3: ; preds = %resume.entry
br label %resume.3.landing, !dbg !869
resume.3.landing: ; preds = %resume.3, %CoroSuspend55
%24 = phi i8 [ -1, %CoroSuspend55 ], [ 1, %resume.3 ]
br label %AfterCoroSuspend56, !dbg !869
AfterCoroSuspend56: ; preds = %resume.3.landing
switch i8 %24, label %coro.ret [
i8 0, label %final.ready
i8 1, label %final.cleanup
], !dbg !869
final.cleanup: ; preds = %AfterCoroSuspend56
br label %cleanup.from.final.cleanup, !dbg !869
cleanup.from.final.cleanup: ; preds = %final.cleanup
%.cleanup57 = phi i32 [ 2, %final.cleanup ]
br label %cleanup, !dbg !869
final.ready: ; preds = %AfterCoroSuspend56, %coro.final
%ref.tmp33.reload.addr = getelementptr inbounds %_Z3foov.Frame, %_Z3foov.Frame* %FramePtr, i32 0, i32 15, !dbg !869
call void @_ZNKSt12experimental13coroutines_v113suspend_never12await_resumeEv(%"struct.std::experimental::coroutines_v1::suspend_never"* %ref.tmp33.reload.addr) #2, !dbg !869
br label %cleanup.from.final.ready, !dbg !869
cleanup.from.final.ready: ; preds = %final.ready
%.cleanup = phi i32 [ 0, %final.ready ]
br label %cleanup, !dbg !869
cleanup: ; preds = %cleanup.from.final.ready, %cleanup.from.final.cleanup, %cleanup.from.await2.cleanup, %cleanup.from.await.cleanup, %cleanup.from.init.cleanup
%cleanup.dest.slot.0 = phi i32 [ %.cleanup, %cleanup.from.final.ready ], [ %.cleanup57, %cleanup.from.final.cleanup ], [ %.cleanup58, %cleanup.from.await2.cleanup ], [ %.cleanup59, %cleanup.from.await.cleanup ], [ %.cleanup60, %cleanup.from.init.cleanup ]
%25 = icmp ne i8* null, null, !dbg !869
br i1 %25, label %coro.free, label %after.coro.free, !dbg !869
coro.free: ; preds = %cleanup
call void @_ZdlPv(i8* null) #2, !dbg !869
br label %after.coro.free, !dbg !869
after.coro.free: ; preds = %coro.free, %cleanup
switch i32 %cleanup.dest.slot.0, label %unreachable [
i32 0, label %cleanup.cont
i32 2, label %coro.ret
]
cleanup.cont: ; preds = %after.coro.free
br label %coro.ret, !dbg !869
coro.ret: ; preds = %cleanup.cont, %after.coro.free, %AfterCoroSuspend56, %AfterCoroSuspend52, %AfterCoroSuspend48, %AfterCoroSuspend
br label %CoroEnd, !dbg !869
CoroEnd: ; preds = %coro.ret
ret void, !dbg !869
unreachable: ; preds = %after.coro.free
unreachable
resume.entry: ; preds = %entry.cleanup
%index.addr = getelementptr inbounds %_Z3foov.Frame, %_Z3foov.Frame* %FramePtr, i32 0, i32 3
%index = load i2, i2* %index.addr
%ResumeFn.addr1 = getelementptr inbounds %_Z3foov.Frame, %_Z3foov.Frame* %FramePtr, i32 0, i32 0
%26 = load void (%_Z3foov.Frame*)*, void (%_Z3foov.Frame*)** %ResumeFn.addr1
%27 = icmp eq void (%_Z3foov.Frame*)* %26, null
br i1 %27, label %resume.3, label %Switch
Switch: ; preds = %resume.entry
switch i2 %index, label %unreachable71 [
i2 0, label %resume.0
i2 1, label %resume.1
i2 -2, label %resume.2
]
unreachable71: ; preds = %Switch
unreachable, !dbg !869
}
attributes #0 = { noinline nounwind optnone uwtable "correctly-rounded-divide-sqrt-fp-math"="false" "denormal-fp-math"="ieee,ieee" "denormal-fp-math-f32"="ieee,ieee" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="false" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "unsafe-fp-math"="false" "use-soft-float"="false" }
attributes #1 = { argmemonly nounwind readonly }
attributes #2 = { nounwind }
attributes #3 = { nobuiltin "correctly-rounded-divide-sqrt-fp-math"="false" "denormal-fp-math"="ieee,ieee" "denormal-fp-math-f32"="ieee,ieee" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "no-infs-fp-math"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="false" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "unsafe-fp-math"="false" "use-soft-float"="false" }
attributes #4 = { nounwind readnone }
attributes #5 = { nounwind readnone speculatable willreturn }
attributes #6 = { argmemonly nounwind willreturn }
attributes #7 = { "correctly-rounded-divide-sqrt-fp-math"="false" "denormal-fp-math"="ieee,ieee" "denormal-fp-math-f32"="ieee,ieee" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "no-infs-fp-math"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="false" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "unsafe-fp-math"="false" "use-soft-float"="false" }
attributes #8 = { nobuiltin nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "denormal-fp-math"="ieee,ieee" "denormal-fp-math-f32"="ieee,ieee" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "no-infs-fp-math"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="false" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "unsafe-fp-math"="false" "use-soft-float"="false" }
attributes #9 = { noinline norecurse nounwind optnone uwtable "correctly-rounded-divide-sqrt-fp-math"="false" "denormal-fp-math"="ieee,ieee" "denormal-fp-math-f32"="ieee,ieee" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="false" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "unsafe-fp-math"="false" "use-soft-float"="false" }
attributes #10 = { alwaysinline }
!llvm.dbg.cu = !{!0}
!llvm.linker.options = !{}
!llvm.module.flags = !{!644, !645, !646}
!llvm.ident = !{!647}
!0 = distinct !DICompileUnit(language: DW_LANG_C_plus_plus_14, file: !1, producer: "clang version 11.0.0 (https://github.com/llvm/llvm-project.git cbd31f0e2df81b3f2807851551dfb5eda9e78017)", isOptimized: false, runtimeVersion: 0, emissionKind: FullDebug, enums: !2, retainedTypes: !3, imports: !108, splitDebugInlining: false, nameTableKind: None)
!1 = !DIFile(filename: "/home/modocache/Source/tmp/coro02242020/repro.cpp", directory: "/home/modocache/Source/llvm/git/dev/llvm-project")
!2 = !{}
!3 = !{!4}
!4 = distinct !DICompositeType(tag: DW_TAG_structure_type, name: "coro", file: !5, line: 6, size: 64, flags: DIFlagTypePassByValue | DIFlagNonTrivial, elements: !6, identifier: "_ZTS4coro")
!5 = !DIFile(filename: "tmp/coro02242020/repro.cpp", directory: "/home/modocache/Source")
!6 = !{!7, !104}
!7 = !DIDerivedType(tag: DW_TAG_member, name: "handle", scope: !4, file: !5, line: 18, baseType: !8, size: 64)
!8 = distinct !DICompositeType(tag: DW_TAG_class_type, name: "coroutine_handle<coro::promise_type>", scope: !10, file: !9, line: 196, size: 64, flags: DIFlagTypePassByValue | DIFlagNonTrivial, elements: !13, templateParams: !102, identifier: "_ZTSNSt12experimental13coroutines_v116coroutine_handleIN4coro12promise_typeEEE")
!9 = !DIFile(filename: "build/bin/../include/c++/v1/experimental/coroutine", directory: "/home/modocache/Source/llvm/git/dev/llvm-project")
!10 = !DINamespace(name: "coroutines_v1", scope: !11, exportSymbols: true)
!11 = !DINamespace(name: "experimental", scope: !12)
!12 = !DINamespace(name: "std", scope: null)
!13 = !{!14, !55, !60, !93, !96, !99}
!14 = !DIDerivedType(tag: DW_TAG_inheritance, scope: !8, baseType: !15, flags: DIFlagPublic, extraData: i32 0)
!15 = distinct !DICompositeType(tag: DW_TAG_class_type, name: "coroutine_handle<void>", scope: !10, file: !9, line: 92, size: 64, flags: DIFlagTypePassByValue | DIFlagNonTrivial, elements: !16, templateParams: !53, identifier: "_ZTSNSt12experimental13coroutines_v116coroutine_handleIvEE")
!16 = !{!17, !19, !23, !29, !33, !38, !42, !43, !44, !45, !46, !49, !52}
!17 = !DIDerivedType(tag: DW_TAG_member, name: "__handle_", scope: !15, file: !9, line: 166, baseType: !18, size: 64)
!18 = !DIDerivedType(tag: DW_TAG_pointer_type, baseType: null, size: 64)
!19 = !DISubprogram(name: "coroutine_handle", scope: !15, file: !9, line: 95, type: !20, scopeLine: 95, flags: DIFlagPublic | DIFlagPrototyped, spFlags: 0)
!20 = !DISubroutineType(types: !21)
!21 = !{null, !22}
!22 = !DIDerivedType(tag: DW_TAG_pointer_type, baseType: !15, size: 64, flags: DIFlagArtificial | DIFlagObjectPointer)
!23 = !DISubprogram(name: "coroutine_handle", scope: !15, file: !9, line: 98, type: !24, scopeLine: 98, flags: DIFlagPublic | DIFlagPrototyped, spFlags: 0)
!24 = !DISubroutineType(types: !25)
!25 = !{null, !22, !26}
!26 = !DIDerivedType(tag: DW_TAG_typedef, name: "nullptr_t", scope: !12, file: !27, line: 56, baseType: !28)
!27 = !DIFile(filename: "build/bin/../include/c++/v1/__nullptr", directory: "/home/modocache/Source/llvm/git/dev/llvm-project")
!28 = !DIBasicType(tag: DW_TAG_unspecified_type, name: "decltype(nullptr)")
!29 = !DISubprogram(name: "operator=", linkageName: "_ZNSt12experimental13coroutines_v116coroutine_handleIvEaSEDn", scope: !15, file: !9, line: 101, type: !30, scopeLine: 101, flags: DIFlagPublic | DIFlagPrototyped, spFlags: 0)
!30 = !DISubroutineType(types: !31)
!31 = !{!32, !22, !26}
!32 = !DIDerivedType(tag: DW_TAG_reference_type, baseType: !15, size: 64)
!33 = !DISubprogram(name: "address", linkageName: "_ZNKSt12experimental13coroutines_v116coroutine_handleIvE7addressEv", scope: !15, file: !9, line: 107, type: !34, scopeLine: 107, flags: DIFlagPublic | DIFlagPrototyped, spFlags: 0)
!34 = !DISubroutineType(types: !35)
!35 = !{!18, !36}
!36 = !DIDerivedType(tag: DW_TAG_pointer_type, baseType: !37, size: 64, flags: DIFlagArtificial | DIFlagObjectPointer)
!37 = !DIDerivedType(tag: DW_TAG_const_type, baseType: !15)
!38 = !DISubprogram(name: "operator bool", linkageName: "_ZNKSt12experimental13coroutines_v116coroutine_handleIvEcvbEv", scope: !15, file: !9, line: 110, type: !39, scopeLine: 110, flags: DIFlagPublic | DIFlagExplicit | DIFlagPrototyped, spFlags: 0)
!39 = !DISubroutineType(types: !40)
!40 = !{!41, !36}
!41 = !DIBasicType(name: "bool", size: 8, encoding: DW_ATE_boolean)
!42 = !DISubprogram(name: "operator()", linkageName: "_ZNSt12experimental13coroutines_v116coroutine_handleIvEclEv", scope: !15, file: !9, line: 113, type: !20, scopeLine: 113, flags: DIFlagPublic | DIFlagPrototyped, spFlags: 0)
!43 = !DISubprogram(name: "resume", linkageName: "_ZNSt12experimental13coroutines_v116coroutine_handleIvE6resumeEv", scope: !15, file: !9, line: 116, type: !20, scopeLine: 116, flags: DIFlagPublic | DIFlagPrototyped, spFlags: 0)
!44 = !DISubprogram(name: "destroy", linkageName: "_ZNSt12experimental13coroutines_v116coroutine_handleIvE7destroyEv", scope: !15, file: !9, line: 125, type: !20, scopeLine: 125, flags: DIFlagPublic | DIFlagPrototyped, spFlags: 0)
!45 = !DISubprogram(name: "done", linkageName: "_ZNKSt12experimental13coroutines_v116coroutine_handleIvE4doneEv", scope: !15, file: !9, line: 132, type: !39, scopeLine: 132, flags: DIFlagPublic | DIFlagPrototyped, spFlags: 0)
!46 = !DISubprogram(name: "from_address", linkageName: "_ZNSt12experimental13coroutines_v116coroutine_handleIvE12from_addressEPv", scope: !15, file: !9, line: 140, type: !47, scopeLine: 140, flags: DIFlagPublic | DIFlagPrototyped | DIFlagStaticMember, spFlags: 0)
!47 = !DISubroutineType(types: !48)
!48 = !{!15, !18}
!49 = !DISubprogram(name: "from_address", linkageName: "_ZNSt12experimental13coroutines_v116coroutine_handleIvE12from_addressEDn", scope: !15, file: !9, line: 148, type: !50, scopeLine: 148, flags: DIFlagPublic | DIFlagPrototyped | DIFlagStaticMember, spFlags: 0)
!50 = !DISubroutineType(types: !51)
!51 = !{!15, !26}
!52 = !DISubprogram(name: "__is_suspended", linkageName: "_ZNKSt12experimental13coroutines_v116coroutine_handleIvE14__is_suspendedEv", scope: !15, file: !9, line: 160, type: !39, scopeLine: 160, flags: DIFlagPrototyped, spFlags: 0)
!53 = !{!54}
!54 = !DITemplateTypeParameter(name: "_Promise", type: null)
!55 = !DISubprogram(name: "operator=", linkageName: "_ZNSt12experimental13coroutines_v116coroutine_handleIN4coro12promise_typeEEaSEDn", scope: !8, file: !9, line: 207, type: !56, scopeLine: 207, flags: DIFlagPublic | DIFlagPrototyped, spFlags: 0)
!56 = !DISubroutineType(types: !57)
!57 = !{!58, !59, !26}
!58 = !DIDerivedType(tag: DW_TAG_reference_type, baseType: !8, size: 64)
!59 = !DIDerivedType(tag: DW_TAG_pointer_type, baseType: !8, size: 64, flags: DIFlagArtificial | DIFlagObjectPointer)
!60 = !DISubprogram(name: "promise", linkageName: "_ZNKSt12experimental13coroutines_v116coroutine_handleIN4coro12promise_typeEE7promiseEv", scope: !8, file: !9, line: 213, type: !61, scopeLine: 213, flags: DIFlagPublic | DIFlagPrototyped, spFlags: 0)
!61 = !DISubroutineType(types: !62)
!62 = !{!63, !91}
!63 = !DIDerivedType(tag: DW_TAG_reference_type, baseType: !64, size: 64)
!64 = distinct !DICompositeType(tag: DW_TAG_structure_type, name: "promise_type", scope: !4, file: !5, line: 7, size: 8, flags: DIFlagTypePassByValue, elements: !65, identifier: "_ZTSN4coro12promise_typeE")
!65 = !{!66, !70, !86, !87, !90}
!66 = !DISubprogram(name: "get_return_object", linkageName: "_ZN4coro12promise_type17get_return_objectEv", scope: !64, file: !5, line: 8, type: !67, scopeLine: 8, flags: DIFlagPrototyped, spFlags: 0)
!67 = !DISubroutineType(types: !68)
!68 = !{!4, !69}
!69 = !DIDerivedType(tag: DW_TAG_pointer_type, baseType: !64, size: 64, flags: DIFlagArtificial | DIFlagObjectPointer)
!70 = !DISubprogram(name: "initial_suspend", linkageName: "_ZN4coro12promise_type15initial_suspendEv", scope: !64, file: !5, line: 12, type: !71, scopeLine: 12, flags: DIFlagPrototyped, spFlags: 0)
!71 = !DISubroutineType(types: !72)
!72 = !{!73, !69}
!73 = distinct !DICompositeType(tag: DW_TAG_structure_type, name: "suspend_never", scope: !10, file: !9, line: 300, size: 8, flags: DIFlagTypePassByValue, elements: !74, identifier: "_ZTSNSt12experimental13coroutines_v113suspend_neverE")
!74 = !{!75, !80, !83}
!75 = !DISubprogram(name: "await_ready", linkageName: "_ZNKSt12experimental13coroutines_v113suspend_never11await_readyEv", scope: !73, file: !9, line: 302, type: !76, scopeLine: 302, flags: DIFlagPrototyped, spFlags: 0)
!76 = !DISubroutineType(types: !77)
!77 = !{!41, !78}
!78 = !DIDerivedType(tag: DW_TAG_pointer_type, baseType: !79, size: 64, flags: DIFlagArtificial | DIFlagObjectPointer)
!79 = !DIDerivedType(tag: DW_TAG_const_type, baseType: !73)
!80 = !DISubprogram(name: "await_suspend", linkageName: "_ZNKSt12experimental13coroutines_v113suspend_never13await_suspendENS0_16coroutine_handleIvEE", scope: !73, file: !9, line: 304, type: !81, scopeLine: 304, flags: DIFlagPrototyped, spFlags: 0)
!81 = !DISubroutineType(types: !82)
!82 = !{null, !78, !15}
!83 = !DISubprogram(name: "await_resume", linkageName: "_ZNKSt12experimental13coroutines_v113suspend_never12await_resumeEv", scope: !73, file: !9, line: 306, type: !84, scopeLine: 306, flags: DIFlagPrototyped, spFlags: 0)
!84 = !DISubroutineType(types: !85)
!85 = !{null, !78}
!86 = !DISubprogram(name: "final_suspend", linkageName: "_ZN4coro12promise_type13final_suspendEv", scope: !64, file: !5, line: 13, type: !71, scopeLine: 13, flags: DIFlagPrototyped, spFlags: 0)
!87 = !DISubprogram(name: "return_void", linkageName: "_ZN4coro12promise_type11return_voidEv", scope: !64, file: !5, line: 14, type: !88, scopeLine: 14, flags: DIFlagPrototyped, spFlags: 0)
!88 = !DISubroutineType(types: !89)
!89 = !{null, !69}
!90 = !DISubprogram(name: "unhandled_exception", linkageName: "_ZN4coro12promise_type19unhandled_exceptionEv", scope: !64, file: !5, line: 15, type: !88, scopeLine: 15, flags: DIFlagPrototyped, spFlags: 0)
!91 = !DIDerivedType(tag: DW_TAG_pointer_type, baseType: !92, size: 64, flags: DIFlagArtificial | DIFlagObjectPointer)
!92 = !DIDerivedType(tag: DW_TAG_const_type, baseType: !8)
!93 = !DISubprogram(name: "from_address", linkageName: "_ZNSt12experimental13coroutines_v116coroutine_handleIN4coro12promise_typeEE12from_addressEPv", scope: !8, file: !9, line: 220, type: !94, scopeLine: 220, flags: DIFlagPublic | DIFlagPrototyped | DIFlagStaticMember, spFlags: 0)
!94 = !DISubroutineType(types: !95)
!95 = !{!8, !18}
!96 = !DISubprogram(name: "from_address", linkageName: "_ZNSt12experimental13coroutines_v116coroutine_handleIN4coro12promise_typeEE12from_addressEDn", scope: !8, file: !9, line: 231, type: !97, scopeLine: 231, flags: DIFlagPublic | DIFlagPrototyped | DIFlagStaticMember, spFlags: 0)
!97 = !DISubroutineType(types: !98)
!98 = !{!8, !26}
!99 = !DISubprogram(name: "from_promise", linkageName: "_ZNSt12experimental13coroutines_v116coroutine_handleIN4coro12promise_typeEE12from_promiseERS3_", scope: !8, file: !9, line: 250, type: !100, scopeLine: 250, flags: DIFlagPublic | DIFlagPrototyped | DIFlagStaticMember, spFlags: 0)
!100 = !DISubroutineType(types: !101)
!101 = !{!8, !63}
!102 = !{!103}
!103 = !DITemplateTypeParameter(name: "_Promise", type: !64)
!104 = !DISubprogram(name: "coro", scope: !4, file: !5, line: 19, type: !105, scopeLine: 19, flags: DIFlagPrototyped, spFlags: 0)
!105 = !DISubroutineType(types: !106)
!106 = !{null, !107, !8}
!107 = !DIDerivedType(tag: DW_TAG_pointer_type, baseType: !4, size: 64, flags: DIFlagArtificial | DIFlagObjectPointer)
!108 = !{!109, !116, !122, !126, !132, !134, !142, !146, !153, !155, !159, !163, !167, !173, !175, !179, !183, !187, !189, !193, !197, !201, !203, !205, !207, !212, !219, !225, !230, !236, !240, !244, !246, !248, !250, !254, !258, !262, !266, !270, !274, !278, !282, !286, !290, !292, !296, !298, !300, !303, !304, !308, !310, !314, !320, !327, !332, !334, !338, !342, !348, !353, !358, !362, !366, !370, !375, !377, !382, !386, !390, !394, !398, !402, !407, !411, !413, !417, !419, !427, !431, !436, !440, !444, !448, !452, !454, !458, !465, !469, !473, !480, !482, !484, !486, !493, !497, !500, !503, !508, !512, !515, !518, !522, !525, !528, !531, !534, !537, !540, !543, !545, !547, !549, !551, !553, !555, !557, !559, !561, !563, !566, !569, !571, !576, !580, !584, !588, !590, !592, !596, !598, !602, !604, !608, !613, !617, !621, !625, !627, !629, !631, !633, !635, !639, !643}
!109 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !110, entity: !111, file: !115, line: 107)
!110 = !DINamespace(name: "__1", scope: !12, exportSymbols: true)
!111 = !DIDerivedType(tag: DW_TAG_typedef, name: "FILE", file: !112, line: 7, baseType: !113)
!112 = !DIFile(filename: "/usr/include/x86_64-linux-gnu/bits/types/FILE.h", directory: "")
!113 = !DICompositeType(tag: DW_TAG_structure_type, name: "_IO_FILE", file: !114, line: 49, flags: DIFlagFwdDecl, identifier: "_ZTS8_IO_FILE")
!114 = !DIFile(filename: "/usr/include/x86_64-linux-gnu/bits/types/struct_FILE.h", directory: "")
!115 = !DIFile(filename: "build/bin/../include/c++/v1/cstdio", directory: "/home/modocache/Source/llvm/git/dev/llvm-project")
!116 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !110, entity: !117, file: !115, line: 108)
!117 = !DIDerivedType(tag: DW_TAG_typedef, name: "fpos_t", file: !118, line: 84, baseType: !119)
!118 = !DIFile(filename: "/usr/include/stdio.h", directory: "")
!119 = !DIDerivedType(tag: DW_TAG_typedef, name: "__fpos_t", file: !120, line: 14, baseType: !121)
!120 = !DIFile(filename: "/usr/include/x86_64-linux-gnu/bits/types/__fpos_t.h", directory: "")
!121 = !DICompositeType(tag: DW_TAG_structure_type, name: "_G_fpos_t", file: !120, line: 10, flags: DIFlagFwdDecl, identifier: "_ZTS9_G_fpos_t")
!122 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !110, entity: !123, file: !115, line: 109)
!123 = !DIDerivedType(tag: DW_TAG_typedef, name: "size_t", file: !124, line: 46, baseType: !125)
!124 = !DIFile(filename: "build/lib/clang/11.0.0/include/stddef.h", directory: "/home/modocache/Source/llvm/git/dev/llvm-project")
!125 = !DIBasicType(name: "long unsigned int", size: 64, encoding: DW_ATE_unsigned)
!126 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !110, entity: !127, file: !115, line: 111)
!127 = !DISubprogram(name: "fclose", scope: !118, file: !118, line: 213, type: !128, flags: DIFlagPrototyped, spFlags: 0)
!128 = !DISubroutineType(types: !129)
!129 = !{!130, !131}
!130 = !DIBasicType(name: "int", size: 32, encoding: DW_ATE_signed)
!131 = !DIDerivedType(tag: DW_TAG_pointer_type, baseType: !111, size: 64)
!132 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !110, entity: !133, file: !115, line: 112)
!133 = !DISubprogram(name: "fflush", scope: !118, file: !118, line: 218, type: !128, flags: DIFlagPrototyped, spFlags: 0)
!134 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !110, entity: !135, file: !115, line: 113)
!135 = !DISubprogram(name: "setbuf", scope: !118, file: !118, line: 304, type: !136, flags: DIFlagPrototyped, spFlags: 0)
!136 = !DISubroutineType(types: !137)
!137 = !{null, !138, !139}
!138 = !DIDerivedType(tag: DW_TAG_restrict_type, baseType: !131)
!139 = !DIDerivedType(tag: DW_TAG_restrict_type, baseType: !140)
!140 = !DIDerivedType(tag: DW_TAG_pointer_type, baseType: !141, size: 64)
!141 = !DIBasicType(name: "char", size: 8, encoding: DW_ATE_signed_char)
!142 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !110, entity: !143, file: !115, line: 114)
!143 = !DISubprogram(name: "setvbuf", scope: !118, file: !118, line: 308, type: !144, flags: DIFlagPrototyped, spFlags: 0)
!144 = !DISubroutineType(types: !145)
!145 = !{!130, !138, !139, !130, !123}
!146 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !110, entity: !147, file: !115, line: 115)
!147 = !DISubprogram(name: "fprintf", scope: !118, file: !118, line: 326, type: !148, flags: DIFlagPrototyped, spFlags: 0)
!148 = !DISubroutineType(types: !149)
!149 = !{!130, !138, !150, null}
!150 = !DIDerivedType(tag: DW_TAG_restrict_type, baseType: !151)
!151 = !DIDerivedType(tag: DW_TAG_pointer_type, baseType: !152, size: 64)
!152 = !DIDerivedType(tag: DW_TAG_const_type, baseType: !141)
!153 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !110, entity: !154, file: !115, line: 116)
!154 = !DISubprogram(name: "fscanf", linkageName: "__isoc99_fscanf", scope: !118, file: !118, line: 407, type: !148, flags: DIFlagPrototyped, spFlags: 0)
!155 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !110, entity: !156, file: !115, line: 117)
!156 = !DISubprogram(name: "snprintf", scope: !118, file: !118, line: 354, type: !157, flags: DIFlagPrototyped, spFlags: 0)
!157 = !DISubroutineType(types: !158)
!158 = !{!130, !139, !123, !150, null}
!159 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !110, entity: !160, file: !115, line: 118)
!160 = !DISubprogram(name: "sprintf", scope: !118, file: !118, line: 334, type: !161, flags: DIFlagPrototyped, spFlags: 0)
!161 = !DISubroutineType(types: !162)
!162 = !{!130, !139, !150, null}
!163 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !110, entity: !164, file: !115, line: 119)
!164 = !DISubprogram(name: "sscanf", linkageName: "__isoc99_sscanf", scope: !118, file: !118, line: 412, type: !165, flags: DIFlagPrototyped, spFlags: 0)
!165 = !DISubroutineType(types: !166)
!166 = !{!130, !150, !150, null}
!167 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !110, entity: !168, file: !115, line: 120)
!168 = !DISubprogram(name: "vfprintf", scope: !118, file: !118, line: 341, type: !169, flags: DIFlagPrototyped, spFlags: 0)
!169 = !DISubroutineType(types: !170)
!170 = !{!130, !138, !150, !171}
!171 = !DIDerivedType(tag: DW_TAG_pointer_type, baseType: !172, size: 64)
!172 = !DICompositeType(tag: DW_TAG_structure_type, name: "__va_list_tag", file: !1, flags: DIFlagFwdDecl, identifier: "_ZTS13__va_list_tag")
!173 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !110, entity: !174, file: !115, line: 121)
!174 = !DISubprogram(name: "vfscanf", linkageName: "__isoc99_vfscanf", scope: !118, file: !118, line: 451, type: !169, flags: DIFlagPrototyped, spFlags: 0)
!175 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !110, entity: !176, file: !115, line: 122)
!176 = !DISubprogram(name: "vsscanf", linkageName: "__isoc99_vsscanf", scope: !118, file: !118, line: 459, type: !177, flags: DIFlagPrototyped, spFlags: 0)
!177 = !DISubroutineType(types: !178)
!178 = !{!130, !150, !150, !171}
!179 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !110, entity: !180, file: !115, line: 123)
!180 = !DISubprogram(name: "vsnprintf", scope: !118, file: !118, line: 358, type: !181, flags: DIFlagPrototyped, spFlags: 0)
!181 = !DISubroutineType(types: !182)
!182 = !{!130, !139, !123, !150, !171}
!183 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !110, entity: !184, file: !115, line: 124)
!184 = !DISubprogram(name: "vsprintf", scope: !118, file: !118, line: 349, type: !185, flags: DIFlagPrototyped, spFlags: 0)
!185 = !DISubroutineType(types: !186)
!186 = !{!130, !139, !150, !171}
!187 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !110, entity: !188, file: !115, line: 125)
!188 = !DISubprogram(name: "fgetc", scope: !118, file: !118, line: 485, type: !128, flags: DIFlagPrototyped, spFlags: 0)
!189 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !110, entity: !190, file: !115, line: 126)
!190 = !DISubprogram(name: "fgets", scope: !118, file: !118, line: 564, type: !191, flags: DIFlagPrototyped, spFlags: 0)
!191 = !DISubroutineType(types: !192)
!192 = !{!140, !139, !130, !138}
!193 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !110, entity: !194, file: !115, line: 127)
!194 = !DISubprogram(name: "fputc", scope: !118, file: !118, line: 521, type: !195, flags: DIFlagPrototyped, spFlags: 0)
!195 = !DISubroutineType(types: !196)
!196 = !{!130, !130, !131}
!197 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !110, entity: !198, file: !115, line: 128)
!198 = !DISubprogram(name: "fputs", scope: !118, file: !118, line: 626, type: !199, flags: DIFlagPrototyped, spFlags: 0)
!199 = !DISubroutineType(types: !200)
!200 = !{!130, !150, !138}
!201 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !110, entity: !202, file: !115, line: 129)
!202 = !DISubprogram(name: "getc", scope: !118, file: !118, line: 486, type: !128, flags: DIFlagPrototyped, spFlags: 0)
!203 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !110, entity: !204, file: !115, line: 130)
!204 = !DISubprogram(name: "putc", scope: !118, file: !118, line: 522, type: !195, flags: DIFlagPrototyped, spFlags: 0)
!205 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !110, entity: !206, file: !115, line: 131)
!206 = !DISubprogram(name: "ungetc", scope: !118, file: !118, line: 639, type: !195, flags: DIFlagPrototyped, spFlags: 0)
!207 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !110, entity: !208, file: !115, line: 132)
!208 = !DISubprogram(name: "fread", scope: !118, file: !118, line: 646, type: !209, flags: DIFlagPrototyped, spFlags: 0)
!209 = !DISubroutineType(types: !210)
!210 = !{!123, !211, !123, !123, !138}
!211 = !DIDerivedType(tag: DW_TAG_restrict_type, baseType: !18)
!212 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !110, entity: !213, file: !115, line: 133)
!213 = !DISubprogram(name: "fwrite", scope: !118, file: !118, line: 652, type: !214, flags: DIFlagPrototyped, spFlags: 0)
!214 = !DISubroutineType(types: !215)
!215 = !{!123, !216, !123, !123, !138}
!216 = !DIDerivedType(tag: DW_TAG_restrict_type, baseType: !217)
!217 = !DIDerivedType(tag: DW_TAG_pointer_type, baseType: !218, size: 64)
!218 = !DIDerivedType(tag: DW_TAG_const_type, baseType: null)
!219 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !110, entity: !220, file: !115, line: 134)
!220 = !DISubprogram(name: "fgetpos", scope: !118, file: !118, line: 731, type: !221, flags: DIFlagPrototyped, spFlags: 0)
!221 = !DISubroutineType(types: !222)
!222 = !{!130, !138, !223}
!223 = !DIDerivedType(tag: DW_TAG_restrict_type, baseType: !224)
!224 = !DIDerivedType(tag: DW_TAG_pointer_type, baseType: !117, size: 64)
!225 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !110, entity: !226, file: !115, line: 135)
!226 = !DISubprogram(name: "fseek", scope: !118, file: !118, line: 684, type: !227, flags: DIFlagPrototyped, spFlags: 0)
!227 = !DISubroutineType(types: !228)
!228 = !{!130, !131, !229, !130}
!229 = !DIBasicType(name: "long int", size: 64, encoding: DW_ATE_signed)
!230 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !110, entity: !231, file: !115, line: 136)
!231 = !DISubprogram(name: "fsetpos", scope: !118, file: !118, line: 736, type: !232, flags: DIFlagPrototyped, spFlags: 0)
!232 = !DISubroutineType(types: !233)
!233 = !{!130, !131, !234}
!234 = !DIDerivedType(tag: DW_TAG_pointer_type, baseType: !235, size: 64)
!235 = !DIDerivedType(tag: DW_TAG_const_type, baseType: !117)
!236 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !110, entity: !237, file: !115, line: 137)
!237 = !DISubprogram(name: "ftell", scope: !118, file: !118, line: 689, type: !238, flags: DIFlagPrototyped, spFlags: 0)
!238 = !DISubroutineType(types: !239)
!239 = !{!229, !131}
!240 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !110, entity: !241, file: !115, line: 138)
!241 = !DISubprogram(name: "rewind", scope: !118, file: !118, line: 694, type: !242, flags: DIFlagPrototyped, spFlags: 0)
!242 = !DISubroutineType(types: !243)
!243 = !{null, !131}
!244 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !110, entity: !245, file: !115, line: 139)
!245 = !DISubprogram(name: "clearerr", scope: !118, file: !118, line: 757, type: !242, flags: DIFlagPrototyped, spFlags: 0)
!246 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !110, entity: !247, file: !115, line: 140)
!247 = !DISubprogram(name: "feof", scope: !118, file: !118, line: 759, type: !128, flags: DIFlagPrototyped, spFlags: 0)
!248 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !110, entity: !249, file: !115, line: 141)
!249 = !DISubprogram(name: "ferror", scope: !118, file: !118, line: 761, type: !128, flags: DIFlagPrototyped, spFlags: 0)
!250 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !110, entity: !251, file: !115, line: 142)
!251 = !DISubprogram(name: "perror", scope: !118, file: !118, line: 775, type: !252, flags: DIFlagPrototyped, spFlags: 0)
!252 = !DISubroutineType(types: !253)
!253 = !{null, !151}
!254 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !110, entity: !255, file: !115, line: 145)
!255 = !DISubprogram(name: "fopen", scope: !118, file: !118, line: 246, type: !256, flags: DIFlagPrototyped, spFlags: 0)
!256 = !DISubroutineType(types: !257)
!257 = !{!131, !150, !150}
!258 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !110, entity: !259, file: !115, line: 146)
!259 = !DISubprogram(name: "freopen", scope: !118, file: !118, line: 252, type: !260, flags: DIFlagPrototyped, spFlags: 0)
!260 = !DISubroutineType(types: !261)
!261 = !{!131, !150, !150, !138}
!262 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !110, entity: !263, file: !115, line: 147)
!263 = !DISubprogram(name: "remove", scope: !118, file: !118, line: 146, type: !264, flags: DIFlagPrototyped, spFlags: 0)
!264 = !DISubroutineType(types: !265)
!265 = !{!130, !151}
!266 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !110, entity: !267, file: !115, line: 148)
!267 = !DISubprogram(name: "rename", scope: !118, file: !118, line: 148, type: !268, flags: DIFlagPrototyped, spFlags: 0)
!268 = !DISubroutineType(types: !269)
!269 = !{!130, !151, !151}
!270 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !110, entity: !271, file: !115, line: 149)
!271 = !DISubprogram(name: "tmpfile", scope: !118, file: !118, line: 173, type: !272, flags: DIFlagPrototyped, spFlags: 0)
!272 = !DISubroutineType(types: !273)
!273 = !{!131}
!274 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !110, entity: !275, file: !115, line: 150)
!275 = !DISubprogram(name: "tmpnam", scope: !118, file: !118, line: 187, type: !276, flags: DIFlagPrototyped, spFlags: 0)
!276 = !DISubroutineType(types: !277)
!277 = !{!140, !140}
!278 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !110, entity: !279, file: !115, line: 154)
!279 = !DISubprogram(name: "getchar", scope: !118, file: !118, line: 492, type: !280, flags: DIFlagPrototyped, spFlags: 0)
!280 = !DISubroutineType(types: !281)
!281 = !{!130}
!282 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !110, entity: !283, file: !115, line: 158)
!283 = !DISubprogram(name: "scanf", linkageName: "__isoc99_scanf", scope: !118, file: !118, line: 410, type: !284, flags: DIFlagPrototyped, spFlags: 0)
!284 = !DISubroutineType(types: !285)
!285 = !{!130, !150, null}
!286 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !110, entity: !287, file: !115, line: 159)
!287 = !DISubprogram(name: "vscanf", linkageName: "__isoc99_vscanf", scope: !118, file: !118, line: 456, type: !288, flags: DIFlagPrototyped, spFlags: 0)
!288 = !DISubroutineType(types: !289)
!289 = !{!130, !150, !171}
!290 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !110, entity: !291, file: !115, line: 163)
!291 = !DISubprogram(name: "printf", scope: !118, file: !118, line: 332, type: !284, flags: DIFlagPrototyped, spFlags: 0)
!292 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !110, entity: !293, file: !115, line: 164)
!293 = !DISubprogram(name: "putchar", scope: !118, file: !118, line: 528, type: !294, flags: DIFlagPrototyped, spFlags: 0)
!294 = !DISubroutineType(types: !295)
!295 = !{!130, !130}
!296 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !110, entity: !297, file: !115, line: 165)
!297 = !DISubprogram(name: "puts", scope: !118, file: !118, line: 632, type: !264, flags: DIFlagPrototyped, spFlags: 0)
!298 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !110, entity: !299, file: !115, line: 166)
!299 = !DISubprogram(name: "vprintf", scope: !118, file: !118, line: 347, type: !288, flags: DIFlagPrototyped, spFlags: 0)
!300 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !110, entity: !301, file: !302, line: 49)
!301 = !DIDerivedType(tag: DW_TAG_typedef, name: "ptrdiff_t", file: !124, line: 35, baseType: !229)
!302 = !DIFile(filename: "build/bin/../include/c++/v1/cstddef", directory: "/home/modocache/Source/llvm/git/dev/llvm-project")
!303 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !110, entity: !123, file: !302, line: 50)
!304 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !110, entity: !305, file: !302, line: 55)
!305 = !DIDerivedType(tag: DW_TAG_typedef, name: "max_align_t", file: !306, line: 24, baseType: !307)
!306 = !DIFile(filename: "build/lib/clang/11.0.0/include/__stddef_max_align_t.h", directory: "/home/modocache/Source/llvm/git/dev/llvm-project")
!307 = !DICompositeType(tag: DW_TAG_structure_type, file: !306, line: 19, flags: DIFlagFwdDecl, identifier: "_ZTS11max_align_t")
!308 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !110, entity: !123, file: !309, line: 99)
!309 = !DIFile(filename: "build/bin/../include/c++/v1/cstdlib", directory: "/home/modocache/Source/llvm/git/dev/llvm-project")
!310 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !110, entity: !311, file: !309, line: 100)
!311 = !DIDerivedType(tag: DW_TAG_typedef, name: "div_t", file: !312, line: 62, baseType: !313)
!312 = !DIFile(filename: "/usr/include/stdlib.h", directory: "")
!313 = !DICompositeType(tag: DW_TAG_structure_type, file: !312, line: 58, flags: DIFlagFwdDecl, identifier: "_ZTS5div_t")
!314 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !110, entity: !315, file: !309, line: 101)
!315 = !DIDerivedType(tag: DW_TAG_typedef, name: "ldiv_t", file: !312, line: 70, baseType: !316)
!316 = distinct !DICompositeType(tag: DW_TAG_structure_type, file: !312, line: 66, size: 128, flags: DIFlagTypePassByValue, elements: !317, identifier: "_ZTS6ldiv_t")
!317 = !{!318, !319}
!318 = !DIDerivedType(tag: DW_TAG_member, name: "quot", scope: !316, file: !312, line: 68, baseType: !229, size: 64)
!319 = !DIDerivedType(tag: DW_TAG_member, name: "rem", scope: !316, file: !312, line: 69, baseType: !229, size: 64, offset: 64)
!320 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !110, entity: !321, file: !309, line: 103)
!321 = !DIDerivedType(tag: DW_TAG_typedef, name: "lldiv_t", file: !312, line: 80, baseType: !322)
!322 = distinct !DICompositeType(tag: DW_TAG_structure_type, file: !312, line: 76, size: 128, flags: DIFlagTypePassByValue, elements: !323, identifier: "_ZTS7lldiv_t")
!323 = !{!324, !326}
!324 = !DIDerivedType(tag: DW_TAG_member, name: "quot", scope: !322, file: !312, line: 78, baseType: !325, size: 64)
!325 = !DIBasicType(name: "long long int", size: 64, encoding: DW_ATE_signed)
!326 = !DIDerivedType(tag: DW_TAG_member, name: "rem", scope: !322, file: !312, line: 79, baseType: !325, size: 64, offset: 64)
!327 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !110, entity: !328, file: !309, line: 105)
!328 = !DISubprogram(name: "atof", scope: !312, file: !312, line: 101, type: !329, flags: DIFlagPrototyped, spFlags: 0)
!329 = !DISubroutineType(types: !330)
!330 = !{!331, !151}
!331 = !DIBasicType(name: "double", size: 64, encoding: DW_ATE_float)
!332 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !110, entity: !333, file: !309, line: 106)
!333 = !DISubprogram(name: "atoi", scope: !312, file: !312, line: 104, type: !264, flags: DIFlagPrototyped, spFlags: 0)
!334 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !110, entity: !335, file: !309, line: 107)
!335 = !DISubprogram(name: "atol", scope: !312, file: !312, line: 107, type: !336, flags: DIFlagPrototyped, spFlags: 0)
!336 = !DISubroutineType(types: !337)
!337 = !{!229, !151}
!338 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !110, entity: !339, file: !309, line: 109)
!339 = !DISubprogram(name: "atoll", scope: !312, file: !312, line: 112, type: !340, flags: DIFlagPrototyped, spFlags: 0)
!340 = !DISubroutineType(types: !341)
!341 = !{!325, !151}
!342 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !110, entity: !343, file: !309, line: 111)
!343 = !DISubprogram(name: "strtod", scope: !312, file: !312, line: 117, type: !344, flags: DIFlagPrototyped, spFlags: 0)
!344 = !DISubroutineType(types: !345)
!345 = !{!331, !150, !346}
!346 = !DIDerivedType(tag: DW_TAG_restrict_type, baseType: !347)
!347 = !DIDerivedType(tag: DW_TAG_pointer_type, baseType: !140, size: 64)
!348 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !110, entity: !349, file: !309, line: 112)
!349 = !DISubprogram(name: "strtof", scope: !312, file: !312, line: 123, type: !350, flags: DIFlagPrototyped, spFlags: 0)
!350 = !DISubroutineType(types: !351)
!351 = !{!352, !150, !346}
!352 = !DIBasicType(name: "float", size: 32, encoding: DW_ATE_float)
!353 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !110, entity: !354, file: !309, line: 113)
!354 = !DISubprogram(name: "strtold", scope: !312, file: !312, line: 126, type: !355, flags: DIFlagPrototyped, spFlags: 0)
!355 = !DISubroutineType(types: !356)
!356 = !{!357, !150, !346}
!357 = !DIBasicType(name: "long double", size: 128, encoding: DW_ATE_float)
!358 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !110, entity: !359, file: !309, line: 114)
!359 = !DISubprogram(name: "strtol", scope: !312, file: !312, line: 176, type: !360, flags: DIFlagPrototyped, spFlags: 0)
!360 = !DISubroutineType(types: !361)
!361 = !{!229, !150, !346, !130}
!362 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !110, entity: !363, file: !309, line: 116)
!363 = !DISubprogram(name: "strtoll", scope: !312, file: !312, line: 200, type: !364, flags: DIFlagPrototyped, spFlags: 0)
!364 = !DISubroutineType(types: !365)
!365 = !{!325, !150, !346, !130}
!366 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !110, entity: !367, file: !309, line: 118)
!367 = !DISubprogram(name: "strtoul", scope: !312, file: !312, line: 180, type: !368, flags: DIFlagPrototyped, spFlags: 0)
!368 = !DISubroutineType(types: !369)
!369 = !{!125, !150, !346, !130}
!370 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !110, entity: !371, file: !309, line: 120)
!371 = !DISubprogram(name: "strtoull", scope: !312, file: !312, line: 205, type: !372, flags: DIFlagPrototyped, spFlags: 0)
!372 = !DISubroutineType(types: !373)
!373 = !{!374, !150, !346, !130}
!374 = !DIBasicType(name: "long long unsigned int", size: 64, encoding: DW_ATE_unsigned)
!375 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !110, entity: !376, file: !309, line: 122)
!376 = !DISubprogram(name: "rand", scope: !312, file: !312, line: 453, type: !280, flags: DIFlagPrototyped, spFlags: 0)
!377 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !110, entity: !378, file: !309, line: 123)
!378 = !DISubprogram(name: "srand", scope: !312, file: !312, line: 455, type: !379, flags: DIFlagPrototyped, spFlags: 0)
!379 = !DISubroutineType(types: !380)
!380 = !{null, !381}
!381 = !DIBasicType(name: "unsigned int", size: 32, encoding: DW_ATE_unsigned)
!382 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !110, entity: !383, file: !309, line: 124)
!383 = !DISubprogram(name: "calloc", scope: !312, file: !312, line: 542, type: !384, flags: DIFlagPrototyped, spFlags: 0)
!384 = !DISubroutineType(types: !385)
!385 = !{!18, !123, !123}
!386 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !110, entity: !387, file: !309, line: 125)
!387 = !DISubprogram(name: "free", scope: !312, file: !312, line: 565, type: !388, flags: DIFlagPrototyped, spFlags: 0)
!388 = !DISubroutineType(types: !389)
!389 = !{null, !18}
!390 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !110, entity: !391, file: !309, line: 126)
!391 = !DISubprogram(name: "malloc", scope: !312, file: !312, line: 539, type: !392, flags: DIFlagPrototyped, spFlags: 0)
!392 = !DISubroutineType(types: !393)
!393 = !{!18, !123}
!394 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !110, entity: !395, file: !309, line: 127)
!395 = !DISubprogram(name: "realloc", scope: !312, file: !312, line: 550, type: !396, flags: DIFlagPrototyped, spFlags: 0)
!396 = !DISubroutineType(types: !397)
!397 = !{!18, !18, !123}
!398 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !110, entity: !399, file: !309, line: 128)
!399 = !DISubprogram(name: "abort", scope: !312, file: !312, line: 591, type: !400, flags: DIFlagPrototyped | DIFlagNoReturn, spFlags: 0)
!400 = !DISubroutineType(types: !401)
!401 = !{null}
!402 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !110, entity: !403, file: !309, line: 129)
!403 = !DISubprogram(name: "atexit", scope: !312, file: !312, line: 595, type: !404, flags: DIFlagPrototyped, spFlags: 0)
!404 = !DISubroutineType(types: !405)
!405 = !{!130, !406}
!406 = !DIDerivedType(tag: DW_TAG_pointer_type, baseType: !400, size: 64)
!407 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !110, entity: !408, file: !309, line: 130)
!408 = !DISubprogram(name: "exit", scope: !312, file: !312, line: 617, type: !409, flags: DIFlagPrototyped | DIFlagNoReturn, spFlags: 0)
!409 = !DISubroutineType(types: !410)
!410 = !{null, !130}
!411 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !110, entity: !412, file: !309, line: 131)
!412 = !DISubprogram(name: "_Exit", scope: !312, file: !312, line: 629, type: !409, flags: DIFlagPrototyped | DIFlagNoReturn, spFlags: 0)
!413 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !110, entity: !414, file: !309, line: 133)
!414 = !DISubprogram(name: "getenv", scope: !312, file: !312, line: 634, type: !415, flags: DIFlagPrototyped, spFlags: 0)
!415 = !DISubroutineType(types: !416)
!416 = !{!140, !151}
!417 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !110, entity: !418, file: !309, line: 134)
!418 = !DISubprogram(name: "system", scope: !312, file: !312, line: 784, type: !264, flags: DIFlagPrototyped, spFlags: 0)
!419 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !110, entity: !420, file: !309, line: 136)
!420 = !DISubprogram(name: "bsearch", scope: !312, file: !312, line: 820, type: !421, flags: DIFlagPrototyped, spFlags: 0)
!421 = !DISubroutineType(types: !422)
!422 = !{!18, !217, !217, !123, !123, !423}
!423 = !DIDerivedType(tag: DW_TAG_typedef, name: "__compar_fn_t", file: !312, line: 808, baseType: !424)
!424 = !DIDerivedType(tag: DW_TAG_pointer_type, baseType: !425, size: 64)
!425 = !DISubroutineType(types: !426)
!426 = !{!130, !217, !217}
!427 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !110, entity: !428, file: !309, line: 137)
!428 = !DISubprogram(name: "qsort", scope: !312, file: !312, line: 830, type: !429, flags: DIFlagPrototyped, spFlags: 0)
!429 = !DISubroutineType(types: !430)
!430 = !{null, !18, !123, !123, !423}
!431 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !110, entity: !432, file: !309, line: 138)
!432 = !DISubprogram(name: "abs", linkageName: "_Z3abse", scope: !433, file: !433, line: 793, type: !434, flags: DIFlagPrototyped, spFlags: 0)
!433 = !DIFile(filename: "build/bin/../include/c++/v1/math.h", directory: "/home/modocache/Source/llvm/git/dev/llvm-project")
!434 = !DISubroutineType(types: !435)
!435 = !{!357, !357}
!436 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !110, entity: !437, file: !309, line: 139)
!437 = !DISubprogram(name: "labs", scope: !312, file: !312, line: 841, type: !438, flags: DIFlagPrototyped, spFlags: 0)
!438 = !DISubroutineType(types: !439)
!439 = !{!229, !229}
!440 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !110, entity: !441, file: !309, line: 141)
!441 = !DISubprogram(name: "llabs", scope: !312, file: !312, line: 844, type: !442, flags: DIFlagPrototyped, spFlags: 0)
!442 = !DISubroutineType(types: !443)
!443 = !{!325, !325}
!444 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !110, entity: !445, file: !309, line: 143)
!445 = !DISubprogram(name: "div", linkageName: "_Z3divxx", scope: !433, file: !433, line: 812, type: !446, flags: DIFlagPrototyped, spFlags: 0)
!446 = !DISubroutineType(types: !447)
!447 = !{!321, !325, !325}
!448 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !110, entity: !449, file: !309, line: 144)
!449 = !DISubprogram(name: "ldiv", scope: !312, file: !312, line: 854, type: !450, flags: DIFlagPrototyped, spFlags: 0)
!450 = !DISubroutineType(types: !451)
!451 = !{!315, !229, !229}
!452 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !110, entity: !453, file: !309, line: 146)
!453 = !DISubprogram(name: "lldiv", scope: !312, file: !312, line: 858, type: !446, flags: DIFlagPrototyped, spFlags: 0)
!454 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !110, entity: !455, file: !309, line: 148)
!455 = !DISubprogram(name: "mblen", scope: !312, file: !312, line: 922, type: !456, flags: DIFlagPrototyped, spFlags: 0)
!456 = !DISubroutineType(types: !457)
!457 = !{!130, !151, !123}
!458 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !110, entity: !459, file: !309, line: 149)
!459 = !DISubprogram(name: "mbtowc", scope: !312, file: !312, line: 925, type: !460, flags: DIFlagPrototyped, spFlags: 0)
!460 = !DISubroutineType(types: !461)
!461 = !{!130, !462, !150, !123}
!462 = !DIDerivedType(tag: DW_TAG_restrict_type, baseType: !463)
!463 = !DIDerivedType(tag: DW_TAG_pointer_type, baseType: !464, size: 64)
!464 = !DIBasicType(name: "wchar_t", size: 32, encoding: DW_ATE_signed)
!465 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !110, entity: !466, file: !309, line: 150)
!466 = !DISubprogram(name: "wctomb", scope: !312, file: !312, line: 929, type: !467, flags: DIFlagPrototyped, spFlags: 0)
!467 = !DISubroutineType(types: !468)
!468 = !{!130, !140, !464}
!469 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !110, entity: !470, file: !309, line: 151)
!470 = !DISubprogram(name: "mbstowcs", scope: !312, file: !312, line: 933, type: !471, flags: DIFlagPrototyped, spFlags: 0)
!471 = !DISubroutineType(types: !472)
!472 = !{!123, !462, !150, !123}
!473 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !110, entity: !474, file: !309, line: 152)
!474 = !DISubprogram(name: "wcstombs", scope: !312, file: !312, line: 936, type: !475, flags: DIFlagPrototyped, spFlags: 0)
!475 = !DISubroutineType(types: !476)
!476 = !{!123, !139, !477, !123}
!477 = !DIDerivedType(tag: DW_TAG_restrict_type, baseType: !478)
!478 = !DIDerivedType(tag: DW_TAG_pointer_type, baseType: !479, size: 64)
!479 = !DIDerivedType(tag: DW_TAG_const_type, baseType: !464)
!480 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !110, entity: !481, file: !309, line: 154)
!481 = !DISubprogram(name: "at_quick_exit", scope: !312, file: !312, line: 600, type: !404, flags: DIFlagPrototyped, spFlags: 0)
!482 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !110, entity: !483, file: !309, line: 155)
!483 = !DISubprogram(name: "quick_exit", scope: !312, file: !312, line: 623, type: !409, flags: DIFlagPrototyped | DIFlagNoReturn, spFlags: 0)
!484 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !110, entity: !485, file: !309, line: 158)
!485 = !DISubprogram(name: "aligned_alloc", scope: !312, file: !312, line: 586, type: !384, flags: DIFlagPrototyped, spFlags: 0)
!486 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !110, entity: !487, file: !492, line: 152)
!487 = !DIDerivedType(tag: DW_TAG_typedef, name: "int8_t", file: !488, line: 24, baseType: !489)
!488 = !DIFile(filename: "/usr/include/x86_64-linux-gnu/bits/stdint-intn.h", directory: "")
!489 = !DIDerivedType(tag: DW_TAG_typedef, name: "__int8_t", file: !490, line: 37, baseType: !491)
!490 = !DIFile(filename: "/usr/include/x86_64-linux-gnu/bits/types.h", directory: "")
!491 = !DIBasicType(name: "signed char", size: 8, encoding: DW_ATE_signed_char)
!492 = !DIFile(filename: "build/bin/../include/c++/v1/cstdint", directory: "/home/modocache/Source/llvm/git/dev/llvm-project")
!493 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !110, entity: !494, file: !492, line: 153)
!494 = !DIDerivedType(tag: DW_TAG_typedef, name: "int16_t", file: !488, line: 25, baseType: !495)
!495 = !DIDerivedType(tag: DW_TAG_typedef, name: "__int16_t", file: !490, line: 39, baseType: !496)
!496 = !DIBasicType(name: "short", size: 16, encoding: DW_ATE_signed)
!497 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !110, entity: !498, file: !492, line: 154)
!498 = !DIDerivedType(tag: DW_TAG_typedef, name: "int32_t", file: !488, line: 26, baseType: !499)
!499 = !DIDerivedType(tag: DW_TAG_typedef, name: "__int32_t", file: !490, line: 41, baseType: !130)
!500 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !110, entity: !501, file: !492, line: 155)
!501 = !DIDerivedType(tag: DW_TAG_typedef, name: "int64_t", file: !488, line: 27, baseType: !502)
!502 = !DIDerivedType(tag: DW_TAG_typedef, name: "__int64_t", file: !490, line: 44, baseType: !229)
!503 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !110, entity: !504, file: !492, line: 157)
!504 = !DIDerivedType(tag: DW_TAG_typedef, name: "uint8_t", file: !505, line: 24, baseType: !506)
!505 = !DIFile(filename: "/usr/include/x86_64-linux-gnu/bits/stdint-uintn.h", directory: "")
!506 = !DIDerivedType(tag: DW_TAG_typedef, name: "__uint8_t", file: !490, line: 38, baseType: !507)
!507 = !DIBasicType(name: "unsigned char", size: 8, encoding: DW_ATE_unsigned_char)
!508 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !110, entity: !509, file: !492, line: 158)
!509 = !DIDerivedType(tag: DW_TAG_typedef, name: "uint16_t", file: !505, line: 25, baseType: !510)
!510 = !DIDerivedType(tag: DW_TAG_typedef, name: "__uint16_t", file: !490, line: 40, baseType: !511)
!511 = !DIBasicType(name: "unsigned short", size: 16, encoding: DW_ATE_unsigned)
!512 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !110, entity: !513, file: !492, line: 159)
!513 = !DIDerivedType(tag: DW_TAG_typedef, name: "uint32_t", file: !505, line: 26, baseType: !514)
!514 = !DIDerivedType(tag: DW_TAG_typedef, name: "__uint32_t", file: !490, line: 42, baseType: !381)
!515 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !110, entity: !516, file: !492, line: 160)
!516 = !DIDerivedType(tag: DW_TAG_typedef, name: "uint64_t", file: !505, line: 27, baseType: !517)
!517 = !DIDerivedType(tag: DW_TAG_typedef, name: "__uint64_t", file: !490, line: 45, baseType: !125)
!518 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !110, entity: !519, file: !492, line: 162)
!519 = !DIDerivedType(tag: DW_TAG_typedef, name: "int_least8_t", file: !520, line: 43, baseType: !521)
!520 = !DIFile(filename: "/usr/include/stdint.h", directory: "")
!521 = !DIDerivedType(tag: DW_TAG_typedef, name: "__int_least8_t", file: !490, line: 52, baseType: !489)
!522 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !110, entity: !523, file: !492, line: 163)
!523 = !DIDerivedType(tag: DW_TAG_typedef, name: "int_least16_t", file: !520, line: 44, baseType: !524)
!524 = !DIDerivedType(tag: DW_TAG_typedef, name: "__int_least16_t", file: !490, line: 54, baseType: !495)
!525 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !110, entity: !526, file: !492, line: 164)
!526 = !DIDerivedType(tag: DW_TAG_typedef, name: "int_least32_t", file: !520, line: 45, baseType: !527)
!527 = !DIDerivedType(tag: DW_TAG_typedef, name: "__int_least32_t", file: !490, line: 56, baseType: !499)
!528 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !110, entity: !529, file: !492, line: 165)
!529 = !DIDerivedType(tag: DW_TAG_typedef, name: "int_least64_t", file: !520, line: 46, baseType: !530)
!530 = !DIDerivedType(tag: DW_TAG_typedef, name: "__int_least64_t", file: !490, line: 58, baseType: !502)
!531 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !110, entity: !532, file: !492, line: 167)
!532 = !DIDerivedType(tag: DW_TAG_typedef, name: "uint_least8_t", file: !520, line: 49, baseType: !533)
!533 = !DIDerivedType(tag: DW_TAG_typedef, name: "__uint_least8_t", file: !490, line: 53, baseType: !506)
!534 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !110, entity: !535, file: !492, line: 168)
!535 = !DIDerivedType(tag: DW_TAG_typedef, name: "uint_least16_t", file: !520, line: 50, baseType: !536)
!536 = !DIDerivedType(tag: DW_TAG_typedef, name: "__uint_least16_t", file: !490, line: 55, baseType: !510)
!537 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !110, entity: !538, file: !492, line: 169)
!538 = !DIDerivedType(tag: DW_TAG_typedef, name: "uint_least32_t", file: !520, line: 51, baseType: !539)
!539 = !DIDerivedType(tag: DW_TAG_typedef, name: "__uint_least32_t", file: !490, line: 57, baseType: !514)
!540 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !110, entity: !541, file: !492, line: 170)
!541 = !DIDerivedType(tag: DW_TAG_typedef, name: "uint_least64_t", file: !520, line: 52, baseType: !542)
!542 = !DIDerivedType(tag: DW_TAG_typedef, name: "__uint_least64_t", file: !490, line: 59, baseType: !517)
!543 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !110, entity: !544, file: !492, line: 172)
!544 = !DIDerivedType(tag: DW_TAG_typedef, name: "int_fast8_t", file: !520, line: 58, baseType: !491)
!545 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !110, entity: !546, file: !492, line: 173)
!546 = !DIDerivedType(tag: DW_TAG_typedef, name: "int_fast16_t", file: !520, line: 60, baseType: !229)
!547 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !110, entity: !548, file: !492, line: 174)
!548 = !DIDerivedType(tag: DW_TAG_typedef, name: "int_fast32_t", file: !520, line: 61, baseType: !229)
!549 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !110, entity: !550, file: !492, line: 175)
!550 = !DIDerivedType(tag: DW_TAG_typedef, name: "int_fast64_t", file: !520, line: 62, baseType: !229)
!551 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !110, entity: !552, file: !492, line: 177)
!552 = !DIDerivedType(tag: DW_TAG_typedef, name: "uint_fast8_t", file: !520, line: 71, baseType: !507)
!553 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !110, entity: !554, file: !492, line: 178)
!554 = !DIDerivedType(tag: DW_TAG_typedef, name: "uint_fast16_t", file: !520, line: 73, baseType: !125)
!555 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !110, entity: !556, file: !492, line: 179)
!556 = !DIDerivedType(tag: DW_TAG_typedef, name: "uint_fast32_t", file: !520, line: 74, baseType: !125)
!557 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !110, entity: !558, file: !492, line: 180)
!558 = !DIDerivedType(tag: DW_TAG_typedef, name: "uint_fast64_t", file: !520, line: 75, baseType: !125)
!559 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !110, entity: !560, file: !492, line: 182)
!560 = !DIDerivedType(tag: DW_TAG_typedef, name: "intptr_t", file: !520, line: 87, baseType: !229)
!561 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !110, entity: !562, file: !492, line: 183)
!562 = !DIDerivedType(tag: DW_TAG_typedef, name: "uintptr_t", file: !520, line: 90, baseType: !125)
!563 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !110, entity: !564, file: !492, line: 185)
!564 = !DIDerivedType(tag: DW_TAG_typedef, name: "intmax_t", file: !520, line: 101, baseType: !565)
!565 = !DIDerivedType(tag: DW_TAG_typedef, name: "__intmax_t", file: !490, line: 72, baseType: !229)
!566 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !110, entity: !567, file: !492, line: 186)
!567 = !DIDerivedType(tag: DW_TAG_typedef, name: "uintmax_t", file: !520, line: 102, baseType: !568)
!568 = !DIDerivedType(tag: DW_TAG_typedef, name: "__uintmax_t", file: !490, line: 73, baseType: !125)
!569 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !110, entity: !123, file: !570, line: 68)
!570 = !DIFile(filename: "build/bin/../include/c++/v1/cstring", directory: "/home/modocache/Source/llvm/git/dev/llvm-project")
!571 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !110, entity: !572, file: !570, line: 69)
!572 = !DISubprogram(name: "memcpy", scope: !573, file: !573, line: 42, type: !574, flags: DIFlagPrototyped, spFlags: 0)
!573 = !DIFile(filename: "/usr/include/string.h", directory: "")
!574 = !DISubroutineType(types: !575)
!575 = !{!18, !211, !216, !123}
!576 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !110, entity: !577, file: !570, line: 70)
!577 = !DISubprogram(name: "memmove", scope: !573, file: !573, line: 46, type: !578, flags: DIFlagPrototyped, spFlags: 0)
!578 = !DISubroutineType(types: !579)
!579 = !{!18, !18, !217, !123}
!580 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !110, entity: !581, file: !570, line: 71)
!581 = !DISubprogram(name: "strcpy", scope: !573, file: !573, line: 121, type: !582, flags: DIFlagPrototyped, spFlags: 0)
!582 = !DISubroutineType(types: !583)
!583 = !{!140, !139, !150}
!584 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !110, entity: !585, file: !570, line: 72)
!585 = !DISubprogram(name: "strncpy", scope: !573, file: !573, line: 124, type: !586, flags: DIFlagPrototyped, spFlags: 0)
!586 = !DISubroutineType(types: !587)
!587 = !{!140, !139, !150, !123}
!588 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !110, entity: !589, file: !570, line: 73)
!589 = !DISubprogram(name: "strcat", scope: !573, file: !573, line: 129, type: !582, flags: DIFlagPrototyped, spFlags: 0)
!590 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !110, entity: !591, file: !570, line: 74)
!591 = !DISubprogram(name: "strncat", scope: !573, file: !573, line: 132, type: !586, flags: DIFlagPrototyped, spFlags: 0)
!592 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !110, entity: !593, file: !570, line: 75)
!593 = !DISubprogram(name: "memcmp", scope: !573, file: !573, line: 63, type: !594, flags: DIFlagPrototyped, spFlags: 0)
!594 = !DISubroutineType(types: !595)
!595 = !{!130, !217, !217, !123}
!596 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !110, entity: !597, file: !570, line: 76)
!597 = !DISubprogram(name: "strcmp", scope: !573, file: !573, line: 136, type: !268, flags: DIFlagPrototyped, spFlags: 0)
!598 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !110, entity: !599, file: !570, line: 77)
!599 = !DISubprogram(name: "strncmp", scope: !573, file: !573, line: 139, type: !600, flags: DIFlagPrototyped, spFlags: 0)
!600 = !DISubroutineType(types: !601)
!601 = !{!130, !151, !151, !123}
!602 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !110, entity: !603, file: !570, line: 78)
!603 = !DISubprogram(name: "strcoll", scope: !573, file: !573, line: 143, type: !268, flags: DIFlagPrototyped, spFlags: 0)
!604 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !110, entity: !605, file: !570, line: 79)
!605 = !DISubprogram(name: "strxfrm", scope: !573, file: !573, line: 146, type: !606, flags: DIFlagPrototyped, spFlags: 0)
!606 = !DISubroutineType(types: !607)
!607 = !{!123, !139, !150, !123}
!608 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !110, entity: !609, file: !570, line: 80)
!609 = !DISubprogram(name: "memchr", linkageName: "_Z6memchrUa9enable_ifIXLb1EEEPvim", scope: !610, file: !610, line: 98, type: !611, flags: DIFlagPrototyped, spFlags: 0)
!610 = !DIFile(filename: "build/bin/../include/c++/v1/string.h", directory: "/home/modocache/Source/llvm/git/dev/llvm-project")
!611 = !DISubroutineType(types: !612)
!612 = !{!18, !18, !130, !123}
!613 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !110, entity: !614, file: !570, line: 81)
!614 = !DISubprogram(name: "strchr", linkageName: "_Z6strchrUa9enable_ifIXLb1EEEPci", scope: !610, file: !610, line: 77, type: !615, flags: DIFlagPrototyped, spFlags: 0)
!615 = !DISubroutineType(types: !616)
!616 = !{!140, !140, !130}
!617 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !110, entity: !618, file: !570, line: 82)
!618 = !DISubprogram(name: "strcspn", scope: !573, file: !573, line: 272, type: !619, flags: DIFlagPrototyped, spFlags: 0)
!619 = !DISubroutineType(types: !620)
!620 = !{!123, !151, !151}
!621 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !110, entity: !622, file: !570, line: 83)
!622 = !DISubprogram(name: "strpbrk", linkageName: "_Z7strpbrkUa9enable_ifIXLb1EEEPcPKc", scope: !610, file: !610, line: 84, type: !623, flags: DIFlagPrototyped, spFlags: 0)
!623 = !DISubroutineType(types: !624)
!624 = !{!140, !140, !151}
!625 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !110, entity: !626, file: !570, line: 84)
!626 = !DISubprogram(name: "strrchr", linkageName: "_Z7strrchrUa9enable_ifIXLb1EEEPci", scope: !610, file: !610, line: 91, type: !615, flags: DIFlagPrototyped, spFlags: 0)
!627 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !110, entity: !628, file: !570, line: 85)
!628 = !DISubprogram(name: "strspn", scope: !573, file: !573, line: 276, type: !619, flags: DIFlagPrototyped, spFlags: 0)
!629 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !110, entity: !630, file: !570, line: 86)
!630 = !DISubprogram(name: "strstr", linkageName: "_Z6strstrUa9enable_ifIXLb1EEEPcPKc", scope: !610, file: !610, line: 105, type: !623, flags: DIFlagPrototyped, spFlags: 0)
!631 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !110, entity: !632, file: !570, line: 88)
!632 = !DISubprogram(name: "strtok", scope: !573, file: !573, line: 335, type: !582, flags: DIFlagPrototyped, spFlags: 0)
!633 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !110, entity: !634, file: !570, line: 90)
!634 = !DISubprogram(name: "memset", scope: !573, file: !573, line: 60, type: !611, flags: DIFlagPrototyped, spFlags: 0)
!635 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !110, entity: !636, file: !570, line: 91)
!636 = !DISubprogram(name: "strerror", scope: !573, file: !573, line: 396, type: !637, flags: DIFlagPrototyped, spFlags: 0)
!637 = !DISubroutineType(types: !638)
!638 = !{!140, !130}
!639 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !110, entity: !640, file: !570, line: 92)
!640 = !DISubprogram(name: "strlen", scope: !573, file: !573, line: 384, type: !641, flags: DIFlagPrototyped, spFlags: 0)
!641 = !DISubroutineType(types: !642)
!642 = !{!123, !151}
!643 = !DIImportedEntity(tag: DW_TAG_imported_module, scope: !0, entity: !11, file: !5, line: 4)
!644 = !{i32 7, !"Dwarf Version", i32 4}
!645 = !{i32 2, !"Debug Info Version", i32 3}
!646 = !{i32 1, !"wchar_size", i32 4}
!647 = !{!"clang version 11.0.0 (https://github.com/llvm/llvm-project.git cbd31f0e2df81b3f2807851551dfb5eda9e78017)"}
!648 = distinct !DISubprogram(name: "foo", linkageName: "_Z3foov", scope: !5, file: !5, line: 23, type: !649, scopeLine: 23, flags: DIFlagPrototyped, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !2)
!649 = !DISubroutineType(types: !3)
!650 = !DILocation(line: 23, column: 12, scope: !648)
!651 = !DILocation(line: 23, column: 6, scope: !648)
!652 = !DILocalVariable(name: "__coro_gro", scope: !648, file: !5, line: 23, type: !4)
!653 = !DILocalVariable(name: "__promise", scope: !648, file: !5, line: 23, type: !654)
!654 = !DIDerivedType(tag: DW_TAG_typedef, name: "promise_type", scope: !655, file: !9, line: 79, baseType: !64)
!655 = distinct !DICompositeType(tag: DW_TAG_structure_type, name: "__coroutine_traits_sfinae<coro, void>", scope: !10, file: !9, line: 76, size: 8, flags: DIFlagTypePassByValue, elements: !2, templateParams: !656, identifier: "_ZTSNSt12experimental13coroutines_v125__coroutine_traits_sfinaeI4corovEE")
!656 = !{!657, !658}
!657 = !DITemplateTypeParameter(name: "_Tp", type: !4)
!658 = !DITemplateTypeParameter(type: null)
!659 = !DILocalVariable(name: "i", scope: !660, file: !5, line: 24, type: !130)
!660 = distinct !DILexicalBlock(scope: !648, file: !5, line: 23, column: 12)
!661 = !DILocation(line: 24, column: 7, scope: !660)
!662 = !DILocation(line: 25, column: 3, scope: !660)
!663 = !DILocation(line: 26, column: 18, scope: !660)
!664 = !DILocation(line: 26, column: 3, scope: !660)
!665 = !DILocation(line: 31, column: 12, scope: !660)
!666 = !DILocation(line: 31, column: 3, scope: !660)
!667 = !DILocalVariable(name: "j", scope: !660, file: !5, line: 32, type: !130)
!668 = !DILocation(line: 32, column: 7, scope: !660)
!669 = !DILocation(line: 33, column: 3, scope: !660)
!670 = !DILocation(line: 34, column: 3, scope: !660)
!671 = !DILocation(line: 35, column: 22, scope: !660)
!672 = !DILocation(line: 35, column: 25, scope: !660)
!673 = !DILocation(line: 35, column: 3, scope: !660)
!674 = !DILocation(line: 42, column: 12, scope: !660)
!675 = !DILocation(line: 42, column: 3, scope: !660)
!676 = !DILocation(line: 43, column: 3, scope: !660)
!677 = !DILocation(line: 44, column: 3, scope: !660)
!678 = !DILocation(line: 45, column: 22, scope: !660)
!679 = !DILocation(line: 45, column: 25, scope: !660)
!680 = !DILocation(line: 45, column: 3, scope: !660)
!681 = distinct !DISubprogram(name: "get_return_object", linkageName: "_ZN4coro12promise_type17get_return_objectEv", scope: !64, file: !5, line: 8, type: !67, scopeLine: 8, flags: DIFlagPrototyped, spFlags: DISPFlagDefinition, unit: !0, declaration: !66, retainedNodes: !2)
!682 = !DILocalVariable(name: "this", arg: 1, scope: !681, type: !683, flags: DIFlagArtificial | DIFlagObjectPointer)
!683 = !DIDerivedType(tag: DW_TAG_pointer_type, baseType: !64, size: 64)
!684 = !DILocation(line: 0, scope: !681)
!685 = !DILocalVariable(name: "handle", scope: !681, file: !5, line: 9, type: !8)
!686 = !DILocation(line: 9, column: 12, scope: !681)
!687 = !DILocation(line: 9, column: 21, scope: !681)
!688 = !DILocation(line: 10, column: 19, scope: !681)
!689 = !DILocation(line: 10, column: 14, scope: !681)
!690 = !DILocation(line: 10, column: 7, scope: !681)
!691 = distinct !DISubprogram(name: "initial_suspend", linkageName: "_ZN4coro12promise_type15initial_suspendEv", scope: !64, file: !5, line: 12, type: !71, scopeLine: 12, flags: DIFlagPrototyped, spFlags: DISPFlagDefinition, unit: !0, declaration: !70, retainedNodes: !2)
!692 = !DILocalVariable(name: "this", arg: 1, scope: !691, type: !683, flags: DIFlagArtificial | DIFlagObjectPointer)
!693 = !DILocation(line: 0, scope: !691)
!694 = !DILocation(line: 12, column: 39, scope: !691)
!695 = distinct !DISubprogram(name: "await_ready", linkageName: "_ZNKSt12experimental13coroutines_v113suspend_never11await_readyEv", scope: !73, file: !9, line: 302, type: !76, scopeLine: 302, flags: DIFlagPrototyped, spFlags: DISPFlagDefinition, unit: !0, declaration: !75, retainedNodes: !2)
!696 = !DILocalVariable(name: "this", arg: 1, scope: !695, type: !697, flags: DIFlagArtificial | DIFlagObjectPointer)
!697 = !DIDerivedType(tag: DW_TAG_pointer_type, baseType: !79, size: 64)
!698 = !DILocation(line: 0, scope: !695)
!699 = !DILocation(line: 302, column: 40, scope: !695)
!700 = distinct !DISubprogram(name: "await_suspend", linkageName: "_ZNKSt12experimental13coroutines_v113suspend_never13await_suspendENS0_16coroutine_handleIvEE", scope: !73, file: !9, line: 304, type: !81, scopeLine: 304, flags: DIFlagPrototyped, spFlags: DISPFlagDefinition, unit: !0, declaration: !80, retainedNodes: !2)
!701 = !DILocalVariable(name: "this", arg: 1, scope: !700, type: !697, flags: DIFlagArtificial | DIFlagObjectPointer)
!702 = !DILocation(line: 0, scope: !700)
!703 = !DILocalVariable(arg: 2, scope: !700, file: !9, line: 304, type: !15)
!704 = !DILocation(line: 304, column: 40, scope: !700)
!705 = !DILocation(line: 304, column: 59, scope: !700)
!706 = distinct !DISubprogram(name: "from_address", linkageName: "_ZNSt12experimental13coroutines_v116coroutine_handleIN4coro12promise_typeEE12from_addressEPv", scope: !8, file: !9, line: 220, type: !94, scopeLine: 220, flags: DIFlagPrototyped, spFlags: DISPFlagDefinition, unit: !0, declaration: !93, retainedNodes: !2)
!707 = !DILocalVariable(name: "__addr", arg: 1, scope: !706, file: !9, line: 220, type: !18)
!708 = !DILocation(line: 220, column: 48, scope: !706)
!709 = !DILocalVariable(name: "__tmp", scope: !706, file: !9, line: 221, type: !8)
!710 = !DILocation(line: 221, column: 26, scope: !706)
!711 = !DILocation(line: 222, column: 27, scope: !706)
!712 = !DILocation(line: 222, column: 9, scope: !706)
!713 = !DILocation(line: 222, column: 15, scope: !706)
!714 = !DILocation(line: 222, column: 25, scope: !706)
!715 = !DILocation(line: 223, column: 9, scope: !706)
!716 = distinct !DISubprogram(name: "await_resume", linkageName: "_ZNKSt12experimental13coroutines_v113suspend_never12await_resumeEv", scope: !73, file: !9, line: 306, type: !84, scopeLine: 306, flags: DIFlagPrototyped, spFlags: DISPFlagDefinition, unit: !0, declaration: !83, retainedNodes: !2)
!717 = !DILocalVariable(name: "this", arg: 1, scope: !716, type: !697, flags: DIFlagArtificial | DIFlagObjectPointer)
!718 = !DILocation(line: 0, scope: !716)
!719 = !DILocation(line: 306, column: 40, scope: !716)
!720 = distinct !DISubprogram(name: "await_ready", linkageName: "_ZNKSt12experimental13coroutines_v114suspend_always11await_readyEv", scope: !721, file: !9, line: 311, type: !724, scopeLine: 311, flags: DIFlagPrototyped, spFlags: DISPFlagDefinition, unit: !0, declaration: !723, retainedNodes: !2)
!721 = distinct !DICompositeType(tag: DW_TAG_structure_type, name: "suspend_always", scope: !10, file: !9, line: 309, size: 8, flags: DIFlagTypePassByValue, elements: !722, identifier: "_ZTSNSt12experimental13coroutines_v114suspend_alwaysE")
!722 = !{!723, !728, !731}
!723 = !DISubprogram(name: "await_ready", linkageName: "_ZNKSt12experimental13coroutines_v114suspend_always11await_readyEv", scope: !721, file: !9, line: 311, type: !724, scopeLine: 311, flags: DIFlagPrototyped, spFlags: 0)
!724 = !DISubroutineType(types: !725)
!725 = !{!41, !726}
!726 = !DIDerivedType(tag: DW_TAG_pointer_type, baseType: !727, size: 64, flags: DIFlagArtificial | DIFlagObjectPointer)
!727 = !DIDerivedType(tag: DW_TAG_const_type, baseType: !721)
!728 = !DISubprogram(name: "await_suspend", linkageName: "_ZNKSt12experimental13coroutines_v114suspend_always13await_suspendENS0_16coroutine_handleIvEE", scope: !721, file: !9, line: 313, type: !729, scopeLine: 313, flags: DIFlagPrototyped, spFlags: 0)
!729 = !DISubroutineType(types: !730)
!730 = !{null, !726, !15}
!731 = !DISubprogram(name: "await_resume", linkageName: "_ZNKSt12experimental13coroutines_v114suspend_always12await_resumeEv", scope: !721, file: !9, line: 315, type: !732, scopeLine: 315, flags: DIFlagPrototyped, spFlags: 0)
!732 = !DISubroutineType(types: !733)
!733 = !{null, !726}
!734 = !DILocalVariable(name: "this", arg: 1, scope: !720, type: !735, flags: DIFlagArtificial | DIFlagObjectPointer)
!735 = !DIDerivedType(tag: DW_TAG_pointer_type, baseType: !727, size: 64)
!736 = !DILocation(line: 0, scope: !720)
!737 = !DILocation(line: 311, column: 40, scope: !720)
!738 = distinct !DISubprogram(name: "await_suspend", linkageName: "_ZNKSt12experimental13coroutines_v114suspend_always13await_suspendENS0_16coroutine_handleIvEE", scope: !721, file: !9, line: 313, type: !729, scopeLine: 313, flags: DIFlagPrototyped, spFlags: DISPFlagDefinition, unit: !0, declaration: !728, retainedNodes: !2)
!739 = !DILocalVariable(name: "this", arg: 1, scope: !738, type: !735, flags: DIFlagArtificial | DIFlagObjectPointer)
!740 = !DILocation(line: 0, scope: !738)
!741 = !DILocalVariable(arg: 2, scope: !738, file: !9, line: 313, type: !15)
!742 = !DILocation(line: 313, column: 40, scope: !738)
!743 = !DILocation(line: 313, column: 59, scope: !738)
!744 = distinct !DISubprogram(name: "await_resume", linkageName: "_ZNKSt12experimental13coroutines_v114suspend_always12await_resumeEv", scope: !721, file: !9, line: 315, type: !732, scopeLine: 315, flags: DIFlagPrototyped, spFlags: DISPFlagDefinition, unit: !0, declaration: !731, retainedNodes: !2)
!745 = !DILocalVariable(name: "this", arg: 1, scope: !744, type: !735, flags: DIFlagArtificial | DIFlagObjectPointer)
!746 = !DILocation(line: 0, scope: !744)
!747 = !DILocation(line: 315, column: 40, scope: !744)
!748 = distinct !DISubprogram(name: "return_void", linkageName: "_ZN4coro12promise_type11return_voidEv", scope: !64, file: !5, line: 14, type: !88, scopeLine: 14, flags: DIFlagPrototyped, spFlags: DISPFlagDefinition, unit: !0, declaration: !87, retainedNodes: !2)
!749 = !DILocalVariable(name: "this", arg: 1, scope: !748, type: !683, flags: DIFlagArtificial | DIFlagObjectPointer)
!750 = !DILocation(line: 0, scope: !748)
!751 = !DILocation(line: 14, column: 25, scope: !748)
!752 = distinct !DISubprogram(name: "final_suspend", linkageName: "_ZN4coro12promise_type13final_suspendEv", scope: !64, file: !5, line: 13, type: !71, scopeLine: 13, flags: DIFlagPrototyped, spFlags: DISPFlagDefinition, unit: !0, declaration: !86, retainedNodes: !2)
!753 = !DILocalVariable(name: "this", arg: 1, scope: !752, type: !683, flags: DIFlagArtificial | DIFlagObjectPointer)
!754 = !DILocation(line: 0, scope: !752)
!755 = !DILocation(line: 13, column: 37, scope: !752)
!756 = distinct !DISubprogram(name: "main", scope: !5, file: !5, line: 53, type: !280, scopeLine: 53, flags: DIFlagPrototyped, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !2)
!757 = !DILocalVariable(name: "c", scope: !756, file: !5, line: 54, type: !4)
!758 = !DILocation(line: 54, column: 8, scope: !756)
!759 = !DILocation(line: 54, column: 12, scope: !756)
!760 = !DILocation(line: 55, column: 5, scope: !756)
!761 = !DILocation(line: 55, column: 3, scope: !756)
!762 = !DILocation(line: 55, column: 12, scope: !756)
!763 = !DILocation(line: 56, column: 5, scope: !756)
!764 = !DILocation(line: 56, column: 3, scope: !756)
!765 = !DILocation(line: 56, column: 12, scope: !756)
!766 = !DILocation(line: 57, column: 1, scope: !756)
!767 = distinct !DISubprogram(name: "resume", linkageName: "_ZNSt12experimental13coroutines_v116coroutine_handleIvE6resumeEv", scope: !15, file: !9, line: 116, type: !20, scopeLine: 116, flags: DIFlagPrototyped, spFlags: DISPFlagDefinition, unit: !0, declaration: !43, retainedNodes: !2)
!768 = !DILocalVariable(name: "this", arg: 1, scope: !767, type: !769, flags: DIFlagArtificial | DIFlagObjectPointer)
!769 = !DIDerivedType(tag: DW_TAG_pointer_type, baseType: !15, size: 64)
!770 = !DILocation(line: 0, scope: !767)
!771 = !DILocation(line: 121, column: 29, scope: !767)
!772 = !DILocation(line: 121, column: 7, scope: !767)
!773 = !DILocation(line: 122, column: 5, scope: !767)
!774 = distinct !DISubprogram(name: "from_promise", linkageName: "_ZNSt12experimental13coroutines_v116coroutine_handleIN4coro12promise_typeEE12from_promiseERS3_", scope: !8, file: !9, line: 250, type: !100, scopeLine: 250, flags: DIFlagPrototyped, spFlags: DISPFlagDefinition, unit: !0, declaration: !99, retainedNodes: !2)
!775 = !DILocalVariable(name: "__promise", arg: 1, scope: !774, file: !9, line: 250, type: !63)
!776 = !DILocation(line: 250, column: 52, scope: !774)
!777 = !DILocalVariable(name: "__tmp", scope: !774, file: !9, line: 252, type: !8)
!778 = !DILocation(line: 252, column: 26, scope: !774)
!779 = !DILocation(line: 254, column: 55, scope: !774)
!780 = !DILocation(line: 254, column: 13, scope: !774)
!781 = !DILocation(line: 253, column: 27, scope: !774)
!782 = !DILocation(line: 253, column: 9, scope: !774)
!783 = !DILocation(line: 253, column: 15, scope: !774)
!784 = !DILocation(line: 253, column: 25, scope: !774)
!785 = !DILocation(line: 256, column: 9, scope: !774)
!786 = distinct !DISubprogram(name: "coro", linkageName: "_ZN4coroC2ENSt12experimental13coroutines_v116coroutine_handleINS_12promise_typeEEE", scope: !4, file: !5, line: 19, type: !105, scopeLine: 20, flags: DIFlagPrototyped, spFlags: DISPFlagDefinition, unit: !0, declaration: !104, retainedNodes: !2)
!787 = !DILocalVariable(name: "this", arg: 1, scope: !786, type: !788, flags: DIFlagArtificial | DIFlagObjectPointer)
!788 = !DIDerivedType(tag: DW_TAG_pointer_type, baseType: !4, size: 64)
!789 = !DILocation(line: 0, scope: !786)
!790 = !DILocalVariable(name: "handle", arg: 2, scope: !786, file: !5, line: 19, type: !8)
!791 = !DILocation(line: 19, column: 39, scope: !786)
!792 = !DILocation(line: 20, column: 9, scope: !786)
!793 = !DILocation(line: 20, column: 25, scope: !786)
!794 = distinct !DISubprogram(name: "coroutine_handle", linkageName: "_ZNSt12experimental13coroutines_v116coroutine_handleIN4coro12promise_typeEEC2Ev", scope: !8, file: !9, line: 196, type: !795, scopeLine: 196, flags: DIFlagArtificial | DIFlagPrototyped, spFlags: DISPFlagDefinition, unit: !0, declaration: !797, retainedNodes: !2)
!795 = !DISubroutineType(types: !796)
!796 = !{null, !59}
!797 = !DISubprogram(name: "coroutine_handle", scope: !8, type: !795, flags: DIFlagPublic | DIFlagArtificial | DIFlagPrototyped, spFlags: 0)
!798 = !DILocalVariable(name: "this", arg: 1, scope: !794, type: !799, flags: DIFlagArtificial | DIFlagObjectPointer)
!799 = !DIDerivedType(tag: DW_TAG_pointer_type, baseType: !8, size: 64)
!800 = !DILocation(line: 0, scope: !794)
!801 = !DILocation(line: 196, column: 28, scope: !794)
!802 = distinct !DISubprogram(name: "addressof<coro::promise_type>", linkageName: "_ZNSt3__19addressofIN4coro12promise_typeEEEPT_RS3_", scope: !110, file: !803, line: 591, type: !804, scopeLine: 592, flags: DIFlagPrototyped, spFlags: DISPFlagDefinition, unit: !0, templateParams: !806, retainedNodes: !2)
!803 = !DIFile(filename: "build/bin/../include/c++/v1/type_traits", directory: "/home/modocache/Source/llvm/git/dev/llvm-project")
!804 = !DISubroutineType(types: !805)
!805 = !{!683, !63}
!806 = !{!807}
!807 = !DITemplateTypeParameter(name: "_Tp", type: !64)
!808 = !DILocalVariable(name: "__x", arg: 1, scope: !802, file: !803, line: 591, type: !63)
!809 = !DILocation(line: 591, column: 16, scope: !802)
!810 = !DILocation(line: 593, column: 32, scope: !802)
!811 = !DILocation(line: 593, column: 5, scope: !802)
!812 = distinct !DISubprogram(name: "coroutine_handle", linkageName: "_ZNSt12experimental13coroutines_v116coroutine_handleIvEC2Ev", scope: !15, file: !9, line: 95, type: !20, scopeLine: 95, flags: DIFlagPrototyped, spFlags: DISPFlagDefinition, unit: !0, declaration: !19, retainedNodes: !2)
!813 = !DILocalVariable(name: "this", arg: 1, scope: !812, type: !769, flags: DIFlagArtificial | DIFlagObjectPointer)
!814 = !DILocation(line: 0, scope: !812)
!815 = !DILocation(line: 95, column: 54, scope: !812)
!816 = !DILocation(line: 95, column: 74, scope: !812)
!817 = distinct !DISubprogram(name: "foo", linkageName: "_Z3foov", scope: !5, file: !5, line: 23, type: !649, scopeLine: 23, flags: DIFlagPrototyped, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !2)
!818 = !DILocation(line: 23, column: 12, scope: !817)
!819 = !DILocation(line: 23, column: 6, scope: !817)
!820 = !DILocalVariable(name: "i", scope: !821, file: !5, line: 24, type: !130)
!821 = distinct !DILexicalBlock(scope: !817, file: !5, line: 23, column: 12)
!822 = !DILocation(line: 24, column: 7, scope: !821)
!823 = !DILocation(line: 25, column: 3, scope: !821)
!824 = !DILocation(line: 26, column: 18, scope: !821)
!825 = !DILocation(line: 26, column: 3, scope: !821)
!826 = !DILocation(line: 31, column: 12, scope: !821)
!827 = !DILocation(line: 31, column: 3, scope: !821)
!828 = !DILocalVariable(name: "j", scope: !821, file: !5, line: 32, type: !130)
!829 = !DILocation(line: 32, column: 7, scope: !821)
!830 = !DILocation(line: 33, column: 3, scope: !821)
!831 = !DILocation(line: 34, column: 3, scope: !821)
!832 = !DILocation(line: 35, column: 22, scope: !821)
!833 = !DILocation(line: 35, column: 25, scope: !821)
!834 = !DILocation(line: 35, column: 3, scope: !821)
!835 = !DILocation(line: 42, column: 12, scope: !821)
!836 = !DILocation(line: 42, column: 3, scope: !821)
!837 = !DILocation(line: 43, column: 3, scope: !821)
!838 = !DILocation(line: 44, column: 3, scope: !821)
!839 = !DILocation(line: 45, column: 22, scope: !821)
!840 = !DILocation(line: 45, column: 25, scope: !821)
!841 = !DILocation(line: 45, column: 3, scope: !821)
!842 = distinct !DISubprogram(name: "foo", linkageName: "_Z3foov", scope: !5, file: !5, line: 23, type: !649, scopeLine: 23, flags: DIFlagPrototyped, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !2)
!843 = !DILocation(line: 23, column: 12, scope: !842)
!844 = !DILocation(line: 23, column: 6, scope: !842)
!845 = !DILocalVariable(name: "i", scope: !846, file: !5, line: 24, type: !130)
!846 = distinct !DILexicalBlock(scope: !842, file: !5, line: 23, column: 12)
!847 = !DILocation(line: 24, column: 7, scope: !846)
!848 = !DILocation(line: 25, column: 3, scope: !846)
!849 = !DILocation(line: 26, column: 18, scope: !846)
!850 = !DILocation(line: 26, column: 3, scope: !846)
!851 = !DILocation(line: 31, column: 12, scope: !846)
!852 = !DILocation(line: 31, column: 3, scope: !846)
!853 = !DILocalVariable(name: "j", scope: !846, file: !5, line: 32, type: !130)
!854 = !DILocation(line: 32, column: 7, scope: !846)
!855 = !DILocation(line: 33, column: 3, scope: !846)
!856 = !DILocation(line: 34, column: 3, scope: !846)
!857 = !DILocation(line: 35, column: 22, scope: !846)
!858 = !DILocation(line: 35, column: 25, scope: !846)
!859 = !DILocation(line: 35, column: 3, scope: !846)
!860 = !DILocation(line: 42, column: 12, scope: !846)
!861 = !DILocation(line: 42, column: 3, scope: !846)
!862 = !DILocation(line: 43, column: 3, scope: !846)
!863 = !DILocation(line: 44, column: 3, scope: !846)
!864 = !DILocation(line: 45, column: 22, scope: !846)
!865 = !DILocation(line: 45, column: 25, scope: !846)
!866 = !DILocation(line: 45, column: 3, scope: !846)
!867 = distinct !DISubprogram(name: "foo", linkageName: "_Z3foov", scope: !5, file: !5, line: 23, type: !649, scopeLine: 23, flags: DIFlagPrototyped, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !2)
!868 = !DILocation(line: 23, column: 12, scope: !867)
!869 = !DILocation(line: 23, column: 6, scope: !867)
!870 = !DILocalVariable(name: "i", scope: !871, file: !5, line: 24, type: !130)
!871 = distinct !DILexicalBlock(scope: !867, file: !5, line: 23, column: 12)
!872 = !DILocation(line: 24, column: 7, scope: !871)
!873 = !DILocation(line: 25, column: 3, scope: !871)
!874 = !DILocation(line: 26, column: 18, scope: !871)
!875 = !DILocation(line: 26, column: 3, scope: !871)
!876 = !DILocation(line: 31, column: 12, scope: !871)
!877 = !DILocation(line: 31, column: 3, scope: !871)
!878 = !DILocalVariable(name: "j", scope: !871, file: !5, line: 32, type: !130)
!879 = !DILocation(line: 32, column: 7, scope: !871)
!880 = !DILocation(line: 33, column: 3, scope: !871)
!881 = !DILocation(line: 34, column: 3, scope: !871)
!882 = !DILocation(line: 35, column: 22, scope: !871)
!883 = !DILocation(line: 35, column: 25, scope: !871)
!884 = !DILocation(line: 35, column: 3, scope: !871)
!885 = !DILocation(line: 42, column: 12, scope: !871)
!886 = !DILocation(line: 42, column: 3, scope: !871)
!887 = !DILocation(line: 43, column: 3, scope: !871)
!888 = !DILocation(line: 44, column: 3, scope: !871)
!889 = !DILocation(line: 45, column: 22, scope: !871)
!890 = !DILocation(line: 45, column: 25, scope: !871)
!891 = !DILocation(line: 45, column: 3, scope: !871)
/home/modocache/Source/tmp/coro02242020/repro: file format ELF64-x86-64
.debug_info contents:
0x00000000: Compile Unit: length = 0x000018e0 version = 0x0004 abbr_offset = 0x0000 addr_size = 0x08 (next unit at 0x000018e4)
0x0000000b: DW_TAG_compile_unit
DW_AT_producer ("clang version 11.0.0 (https://github.com/llvm/llvm-project.git cbd31f0e2df81b3f2807851551dfb5eda9e78017)")
DW_AT_language (DW_LANG_C_plus_plus_14)
DW_AT_name ("/home/modocache/Source/tmp/coro02242020/repro.cpp")
DW_AT_stmt_list (0x00000000)
DW_AT_comp_dir ("/home/modocache/Source/llvm/git/dev/llvm-project")
DW_AT_low_pc (0x0000000000000000)
DW_AT_ranges (0x00000000
[0x0000000000201b10, 0x000000000020200a)
[0x0000000000202010, 0x0000000000202041)
[0x0000000000202060, 0x0000000000202ae0)
[0x0000000000202ae0, 0x0000000000202b18)
[0x0000000000202b20, 0x0000000000202b2a)
[0x0000000000202b30, 0x0000000000202b41)
[0x0000000000202b50, 0x0000000000202b5e)
[0x0000000000202b60, 0x0000000000202b87)
[0x0000000000202b90, 0x0000000000202b9a)
[0x0000000000202ba0, 0x0000000000202bb1)
[0x0000000000202bc0, 0x0000000000202bce)
[0x0000000000202bd0, 0x0000000000202bda)
[0x0000000000202be0, 0x0000000000202bea)
[0x0000000000202bf0, 0x0000000000202bfa)
[0x0000000000202c00, 0x0000000000202c1e)
[0x0000000000202c20, 0x0000000000202c52)
[0x0000000000202c60, 0x0000000000202c79)
[0x0000000000202c80, 0x0000000000202c9e)
[0x0000000000202ca0, 0x0000000000202cae)
[0x0000000000202cb0, 0x0000000000202cc5))
0x0000002a: DW_TAG_structure_type
DW_AT_calling_convention (DW_CC_pass_by_value)
DW_AT_name ("coro")
DW_AT_byte_size (0x08)
DW_AT_decl_file ("/home/modocache/Source/tmp/coro02242020/repro.cpp")
DW_AT_decl_line (6)
0x00000033: DW_TAG_member
DW_AT_name ("handle")
DW_AT_type (0x000000cc "coroutine_handle<coro::promise_type>")
DW_AT_decl_file ("/home/modocache/Source/tmp/coro02242020/repro.cpp")
DW_AT_decl_line (18)
DW_AT_data_member_location (0x00)
0x0000003f: DW_TAG_structure_type
DW_AT_calling_convention (DW_CC_pass_by_value)
DW_AT_name ("promise_type")
DW_AT_byte_size (0x01)
DW_AT_decl_file ("/home/modocache/Source/tmp/coro02242020/repro.cpp")
DW_AT_decl_line (7)
0x00000048: DW_TAG_subprogram
DW_AT_linkage_name ("_ZN4coro12promise_type17get_return_objectEv")
DW_AT_name ("get_return_object")
DW_AT_decl_file ("/home/modocache/Source/tmp/coro02242020/repro.cpp")
DW_AT_decl_line (8)
DW_AT_type (0x0000002a "coro")
DW_AT_declaration (true)
DW_AT_external (true)
0x00000057: DW_TAG_formal_parameter
DW_AT_type (0x0000079a "promise_type*")
DW_AT_artificial (true)
0x0000005c: NULL
0x0000005d: DW_TAG_subprogram
DW_AT_linkage_name ("_ZN4coro12promise_type15initial_suspendEv")
DW_AT_name ("initial_suspend")
DW_AT_decl_file ("/home/modocache/Source/tmp/coro02242020/repro.cpp")
DW_AT_decl_line (12)
DW_AT_type (0x00000275 "suspend_never")
DW_AT_declaration (true)
DW_AT_external (true)
0x0000006c: DW_TAG_formal_parameter
DW_AT_type (0x0000079a "promise_type*")
DW_AT_artificial (true)
0x00000071: NULL
0x00000072: DW_TAG_subprogram
DW_AT_linkage_name ("_ZN4coro12promise_type13final_suspendEv")
DW_AT_name ("final_suspend")
DW_AT_decl_file ("/home/modocache/Source/tmp/coro02242020/repro.cpp")
DW_AT_decl_line (13)
DW_AT_type (0x00000275 "suspend_never")
DW_AT_declaration (true)
DW_AT_external (true)
0x00000081: DW_TAG_formal_parameter
DW_AT_type (0x0000079a "promise_type*")
DW_AT_artificial (true)
0x00000086: NULL
0x00000087: DW_TAG_subprogram
DW_AT_linkage_name ("_ZN4coro12promise_type11return_voidEv")
DW_AT_name ("return_void")
DW_AT_decl_file ("/home/modocache/Source/tmp/coro02242020/repro.cpp")
DW_AT_decl_line (14)
DW_AT_declaration (true)
DW_AT_external (true)
0x00000092: DW_TAG_formal_parameter
DW_AT_type (0x0000079a "promise_type*")
DW_AT_artificial (true)
0x00000097: NULL
0x00000098: DW_TAG_subprogram
DW_AT_linkage_name ("_ZN4coro12promise_type19unhandled_exceptionEv")
DW_AT_name ("unhandled_exception")
DW_AT_decl_file ("/home/modocache/Source/tmp/coro02242020/repro.cpp")
DW_AT_decl_line (15)
DW_AT_declaration (true)
DW_AT_external (true)
0x000000a3: DW_TAG_formal_parameter
DW_AT_type (0x0000079a "promise_type*")
DW_AT_artificial (true)
0x000000a8: NULL
0x000000a9: NULL
0x000000aa: DW_TAG_subprogram
DW_AT_name ("coro")
DW_AT_decl_file ("/home/modocache/Source/tmp/coro02242020/repro.cpp")
DW_AT_decl_line (19)
DW_AT_declaration (true)
DW_AT_external (true)
0x000000b1: DW_TAG_formal_parameter
DW_AT_type (0x000007b3 "coro*")
DW_AT_artificial (true)
0x000000b6: DW_TAG_formal_parameter
DW_AT_type (0x000000cc "coroutine_handle<coro::promise_type>")
0x000000bb: NULL
0x000000bc: NULL
0x000000bd: DW_TAG_namespace
DW_AT_name ("std")
0x000000c2: DW_TAG_namespace
DW_AT_name ("experimental")
0x000000c7: DW_TAG_namespace
DW_AT_name ("coroutines_v1")
DW_AT_export_symbols (true)
0x000000cc: DW_TAG_class_type
DW_AT_calling_convention (DW_CC_pass_by_value)
DW_AT_name ("coroutine_handle<coro::promise_type>")
DW_AT_byte_size (0x08)
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/experimental/coroutine")
DW_AT_decl_line (196)
0x000000d5: DW_TAG_inheritance
DW_AT_type (0x00000165 "coroutine_handle<void>")
DW_AT_data_member_location (0x00)
DW_AT_accessibility (DW_ACCESS_public)
0x000000dc: DW_TAG_subprogram
DW_AT_linkage_name ("_ZNSt12experimental13coroutines_v116coroutine_handleIN4coro12promise_typeEEaSEDn")
DW_AT_name ("operator=")
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/experimental/coroutine")
DW_AT_decl_line (207)
DW_AT_type (0x0000078b "coroutine_handle<coro::promise_type>&")
DW_AT_declaration (true)
DW_AT_external (true)
DW_AT_accessibility (DW_ACCESS_public)
0x000000ec: DW_TAG_formal_parameter
DW_AT_type (0x00000790 "coroutine_handle<coro::promise_type>*")
DW_AT_artificial (true)
0x000000f1: DW_TAG_formal_parameter
DW_AT_type (0x0000032a "nullptr_t")
0x000000f6: NULL
0x000000f7: DW_TAG_subprogram
DW_AT_linkage_name ("_ZNKSt12experimental13coroutines_v116coroutine_handleIN4coro12promise_typeEE7promiseEv")
DW_AT_name ("promise")
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/experimental/coroutine")
DW_AT_decl_line (213)
DW_AT_type (0x00000795 "promise_type&")
DW_AT_declaration (true)
DW_AT_external (true)
DW_AT_accessibility (DW_ACCESS_public)
0x00000107: DW_TAG_formal_parameter
DW_AT_type (0x000007a9 "const coroutine_handle<coro::promise_type>*")
DW_AT_artificial (true)
0x0000010c: NULL
0x0000010d: DW_TAG_subprogram
DW_AT_linkage_name ("_ZNSt12experimental13coroutines_v116coroutine_handleIN4coro12promise_typeEE12from_addressEPv")
DW_AT_name ("from_address")
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/experimental/coroutine")
DW_AT_decl_line (220)
DW_AT_type (0x000000cc "coroutine_handle<coro::promise_type>")
DW_AT_declaration (true)
DW_AT_external (true)
DW_AT_accessibility (DW_ACCESS_public)
0x0000011d: DW_TAG_formal_parameter
DW_AT_type (0x0000076a "*")
0x00000122: NULL
0x00000123: DW_TAG_subprogram
DW_AT_linkage_name ("_ZNSt12experimental13coroutines_v116coroutine_handleIN4coro12promise_typeEE12from_addressEDn")
DW_AT_name ("from_address")
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/experimental/coroutine")
DW_AT_decl_line (231)
DW_AT_type (0x000000cc "coroutine_handle<coro::promise_type>")
DW_AT_declaration (true)
DW_AT_external (true)
DW_AT_accessibility (DW_ACCESS_public)
0x00000133: DW_TAG_formal_parameter
DW_AT_type (0x0000032a "nullptr_t")
0x00000138: NULL
0x00000139: DW_TAG_subprogram
DW_AT_linkage_name ("_ZNSt12experimental13coroutines_v116coroutine_handleIN4coro12promise_typeEE12from_promiseERS3_")
DW_AT_name ("from_promise")
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/experimental/coroutine")
DW_AT_decl_line (250)
DW_AT_type (0x000000cc "coroutine_handle<coro::promise_type>")
DW_AT_declaration (true)
DW_AT_external (true)
DW_AT_accessibility (DW_ACCESS_public)
0x00000149: DW_TAG_formal_parameter
DW_AT_type (0x00000795 "promise_type&")
0x0000014e: NULL
0x0000014f: DW_TAG_template_type_parameter
DW_AT_type (0x0000003f "promise_type")
DW_AT_name ("_Promise")
0x00000158: DW_TAG_subprogram
DW_AT_name ("coroutine_handle")
DW_AT_declaration (true)
DW_AT_artificial (true)
DW_AT_external (true)
DW_AT_accessibility (DW_ACCESS_public)
0x0000015e: DW_TAG_formal_parameter
DW_AT_type (0x00000790 "coroutine_handle<coro::promise_type>*")
DW_AT_artificial (true)
0x00000163: NULL
0x00000164: NULL
0x00000165: DW_TAG_class_type
DW_AT_calling_convention (DW_CC_pass_by_value)
DW_AT_name ("coroutine_handle<void>")
DW_AT_byte_size (0x08)
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/experimental/coroutine")
DW_AT_decl_line (92)
0x0000016e: DW_TAG_member
DW_AT_name ("__handle_")
DW_AT_type (0x0000076a "*")
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/experimental/coroutine")
DW_AT_decl_line (166)
DW_AT_data_member_location (0x00)
0x0000017a: DW_TAG_subprogram
DW_AT_name ("coroutine_handle")
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/experimental/coroutine")
DW_AT_decl_line (95)
DW_AT_declaration (true)
DW_AT_external (true)
DW_AT_accessibility (DW_ACCESS_public)
0x00000182: DW_TAG_formal_parameter
DW_AT_type (0x0000076b "coroutine_handle<void>*")
DW_AT_artificial (true)
0x00000187: NULL
0x00000188: DW_TAG_subprogram
DW_AT_name ("coroutine_handle")
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/experimental/coroutine")
DW_AT_decl_line (98)
DW_AT_declaration (true)
DW_AT_external (true)
DW_AT_accessibility (DW_ACCESS_public)
0x00000190: DW_TAG_formal_parameter
DW_AT_type (0x0000076b "coroutine_handle<void>*")
DW_AT_artificial (true)
0x00000195: DW_TAG_formal_parameter
DW_AT_type (0x0000032a "nullptr_t")
0x0000019a: NULL
0x0000019b: DW_TAG_subprogram
DW_AT_linkage_name ("_ZNSt12experimental13coroutines_v116coroutine_handleIvEaSEDn")
DW_AT_name ("operator=")
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/experimental/coroutine")
DW_AT_decl_line (101)
DW_AT_type (0x00000775 "coroutine_handle<void>&")
DW_AT_declaration (true)
DW_AT_external (true)
DW_AT_accessibility (DW_ACCESS_public)
0x000001ab: DW_TAG_formal_parameter
DW_AT_type (0x0000076b "coroutine_handle<void>*")
DW_AT_artificial (true)
0x000001b0: DW_TAG_formal_parameter
DW_AT_type (0x0000032a "nullptr_t")
0x000001b5: NULL
0x000001b6: DW_TAG_subprogram
DW_AT_linkage_name ("_ZNKSt12experimental13coroutines_v116coroutine_handleIvE7addressEv")
DW_AT_name ("address")
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/experimental/coroutine")
DW_AT_decl_line (107)
DW_AT_type (0x0000076a "*")
DW_AT_declaration (true)
DW_AT_external (true)
DW_AT_accessibility (DW_ACCESS_public)
0x000001c6: DW_TAG_formal_parameter
DW_AT_type (0x0000077a "const coroutine_handle<void>*")
DW_AT_artificial (true)
0x000001cb: NULL
0x000001cc: DW_TAG_subprogram
DW_AT_linkage_name ("_ZNKSt12experimental13coroutines_v116coroutine_handleIvEcvbEv")
DW_AT_name ("operator bool")
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/experimental/coroutine")
DW_AT_decl_line (110)
DW_AT_type (0x00000784 "bool")
DW_AT_declaration (true)
DW_AT_external (true)
DW_AT_accessibility (DW_ACCESS_public)
DW_AT_explicit (true)
0x000001dc: DW_TAG_formal_parameter
DW_AT_type (0x0000077a "const coroutine_handle<void>*")
DW_AT_artificial (true)
0x000001e1: NULL
0x000001e2: DW_TAG_subprogram
DW_AT_linkage_name ("_ZNSt12experimental13coroutines_v116coroutine_handleIvEclEv")
DW_AT_name ("operator()")
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/experimental/coroutine")
DW_AT_decl_line (113)
DW_AT_declaration (true)
DW_AT_external (true)
DW_AT_accessibility (DW_ACCESS_public)
0x000001ee: DW_TAG_formal_parameter
DW_AT_type (0x0000076b "coroutine_handle<void>*")
DW_AT_artificial (true)
0x000001f3: NULL
0x000001f4: DW_TAG_subprogram
DW_AT_linkage_name ("_ZNSt12experimental13coroutines_v116coroutine_handleIvE6resumeEv")
DW_AT_name ("resume")
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/experimental/coroutine")
DW_AT_decl_line (116)
DW_AT_declaration (true)
DW_AT_external (true)
DW_AT_accessibility (DW_ACCESS_public)
0x00000200: DW_TAG_formal_parameter
DW_AT_type (0x0000076b "coroutine_handle<void>*")
DW_AT_artificial (true)
0x00000205: NULL
0x00000206: DW_TAG_subprogram
DW_AT_linkage_name ("_ZNSt12experimental13coroutines_v116coroutine_handleIvE7destroyEv")
DW_AT_name ("destroy")
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/experimental/coroutine")
DW_AT_decl_line (125)
DW_AT_declaration (true)
DW_AT_external (true)
DW_AT_accessibility (DW_ACCESS_public)
0x00000212: DW_TAG_formal_parameter
DW_AT_type (0x0000076b "coroutine_handle<void>*")
DW_AT_artificial (true)
0x00000217: NULL
0x00000218: DW_TAG_subprogram
DW_AT_linkage_name ("_ZNKSt12experimental13coroutines_v116coroutine_handleIvE4doneEv")
DW_AT_name ("done")
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/experimental/coroutine")
DW_AT_decl_line (132)
DW_AT_type (0x00000784 "bool")
DW_AT_declaration (true)
DW_AT_external (true)
DW_AT_accessibility (DW_ACCESS_public)
0x00000228: DW_TAG_formal_parameter
DW_AT_type (0x0000077a "const coroutine_handle<void>*")
DW_AT_artificial (true)
0x0000022d: NULL
0x0000022e: DW_TAG_subprogram
DW_AT_linkage_name ("_ZNSt12experimental13coroutines_v116coroutine_handleIvE12from_addressEPv")
DW_AT_name ("from_address")
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/experimental/coroutine")
DW_AT_decl_line (140)
DW_AT_type (0x00000165 "coroutine_handle<void>")
DW_AT_declaration (true)
DW_AT_external (true)
DW_AT_accessibility (DW_ACCESS_public)
0x0000023e: DW_TAG_formal_parameter
DW_AT_type (0x0000076a "*")
0x00000243: NULL
0x00000244: DW_TAG_subprogram
DW_AT_linkage_name ("_ZNSt12experimental13coroutines_v116coroutine_handleIvE12from_addressEDn")
DW_AT_name ("from_address")
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/experimental/coroutine")
DW_AT_decl_line (148)
DW_AT_type (0x00000165 "coroutine_handle<void>")
DW_AT_declaration (true)
DW_AT_external (true)
DW_AT_accessibility (DW_ACCESS_public)
0x00000254: DW_TAG_formal_parameter
DW_AT_type (0x0000032a "nullptr_t")
0x00000259: NULL
0x0000025a: DW_TAG_subprogram
DW_AT_linkage_name ("_ZNKSt12experimental13coroutines_v116coroutine_handleIvE14__is_suspendedEv")
DW_AT_name ("__is_suspended")
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/experimental/coroutine")
DW_AT_decl_line (160)
DW_AT_type (0x00000784 "bool")
DW_AT_declaration (true)
DW_AT_external (true)
0x00000269: DW_TAG_formal_parameter
DW_AT_type (0x0000077a "const coroutine_handle<void>*")
DW_AT_artificial (true)
0x0000026e: NULL
0x0000026f: DW_TAG_template_type_parameter
DW_AT_name ("_Promise")
0x00000274: NULL
0x00000275: DW_TAG_structure_type
DW_AT_calling_convention (DW_CC_pass_by_value)
DW_AT_name ("suspend_never")
DW_AT_byte_size (0x01)
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/experimental/coroutine")
DW_AT_decl_line (300)
0x0000027f: DW_TAG_subprogram
DW_AT_linkage_name ("_ZNKSt12experimental13coroutines_v113suspend_never11await_readyEv")
DW_AT_name ("await_ready")
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/experimental/coroutine")
DW_AT_decl_line (302)
DW_AT_type (0x00000784 "bool")
DW_AT_declaration (true)
DW_AT_external (true)
0x0000028f: DW_TAG_formal_parameter
DW_AT_type (0x0000079f "const suspend_never*")
DW_AT_artificial (true)
0x00000294: NULL
0x00000295: DW_TAG_subprogram
DW_AT_linkage_name ("_ZNKSt12experimental13coroutines_v113suspend_never13await_suspendENS0_16coroutine_handleIvEE")
DW_AT_name ("await_suspend")
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/experimental/coroutine")
DW_AT_decl_line (304)
DW_AT_declaration (true)
DW_AT_external (true)
0x000002a1: DW_TAG_formal_parameter
DW_AT_type (0x0000079f "const suspend_never*")
DW_AT_artificial (true)
0x000002a6: DW_TAG_formal_parameter
DW_AT_type (0x00000165 "coroutine_handle<void>")
0x000002ab: NULL
0x000002ac: DW_TAG_subprogram
DW_AT_linkage_name ("_ZNKSt12experimental13coroutines_v113suspend_never12await_resumeEv")
DW_AT_name ("await_resume")
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/experimental/coroutine")
DW_AT_decl_line (306)
DW_AT_declaration (true)
DW_AT_external (true)
0x000002b8: DW_TAG_formal_parameter
DW_AT_type (0x0000079f "const suspend_never*")
DW_AT_artificial (true)
0x000002bd: NULL
0x000002be: NULL
0x000002bf: DW_TAG_structure_type
DW_AT_calling_convention (DW_CC_pass_by_value)
DW_AT_name ("suspend_always")
DW_AT_byte_size (0x01)
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/experimental/coroutine")
DW_AT_decl_line (309)
0x000002c9: DW_TAG_subprogram
DW_AT_linkage_name ("_ZNKSt12experimental13coroutines_v114suspend_always11await_readyEv")
DW_AT_name ("await_ready")
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/experimental/coroutine")
DW_AT_decl_line (311)
DW_AT_type (0x00000784 "bool")
DW_AT_declaration (true)
DW_AT_external (true)
0x000002d9: DW_TAG_formal_parameter
DW_AT_type (0x0000161a "const suspend_always*")
DW_AT_artificial (true)
0x000002de: NULL
0x000002df: DW_TAG_subprogram
DW_AT_linkage_name ("_ZNKSt12experimental13coroutines_v114suspend_always13await_suspendENS0_16coroutine_handleIvEE")
DW_AT_name ("await_suspend")
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/experimental/coroutine")
DW_AT_decl_line (313)
DW_AT_declaration (true)
DW_AT_external (true)
0x000002eb: DW_TAG_formal_parameter
DW_AT_type (0x0000161a "const suspend_always*")
DW_AT_artificial (true)
0x000002f0: DW_TAG_formal_parameter
DW_AT_type (0x00000165 "coroutine_handle<void>")
0x000002f5: NULL
0x000002f6: DW_TAG_subprogram
DW_AT_linkage_name ("_ZNKSt12experimental13coroutines_v114suspend_always12await_resumeEv")
DW_AT_name ("await_resume")
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/experimental/coroutine")
DW_AT_decl_line (315)
DW_AT_declaration (true)
DW_AT_external (true)
0x00000302: DW_TAG_formal_parameter
DW_AT_type (0x0000161a "const suspend_always*")
DW_AT_artificial (true)
0x00000307: NULL
0x00000308: NULL
0x00000309: DW_TAG_structure_type
DW_AT_calling_convention (DW_CC_pass_by_value)
DW_AT_name ("__coroutine_traits_sfinae<coro, void>")
DW_AT_byte_size (0x01)
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/experimental/coroutine")
DW_AT_decl_line (76)
0x00000312: DW_TAG_template_type_parameter
DW_AT_type (0x0000002a "coro")
DW_AT_name ("_Tp")
0x0000031b: DW_TAG_template_type_parameter
0x0000031c: DW_TAG_typedef
DW_AT_type (0x0000003f "promise_type")
DW_AT_name ("promise_type")
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/experimental/coroutine")
DW_AT_decl_line (79)
0x00000327: NULL
0x00000328: NULL
0x00000329: NULL
0x0000032a: DW_TAG_typedef
DW_AT_type (0x00000770 "decltype(nullptr)")
DW_AT_name ("nullptr_t")
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/__nullptr")
DW_AT_decl_line (56)
0x00000335: DW_TAG_namespace
DW_AT_name ("__1")
DW_AT_export_symbols (true)
0x0000033a: DW_TAG_imported_declaration
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/cstdio")
DW_AT_decl_line (107)
DW_AT_import (0x000007b8)
0x00000341: DW_TAG_imported_declaration
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/cstdio")
DW_AT_decl_line (108)
DW_AT_import (0x000007c8)
0x00000348: DW_TAG_imported_declaration
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/cstdio")
DW_AT_decl_line (109)
DW_AT_import (0x000007e3)
0x0000034f: DW_TAG_imported_declaration
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/cstdio")
DW_AT_decl_line (111)
DW_AT_import (0x000007f5)
0x00000356: DW_TAG_imported_declaration
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/cstdio")
DW_AT_decl_line (112)
DW_AT_import (0x00000812)
0x0000035d: DW_TAG_imported_declaration
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/cstdio")
DW_AT_decl_line (113)
DW_AT_import (0x00000823)
0x00000364: DW_TAG_imported_declaration
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/cstdio")
DW_AT_decl_line (114)
DW_AT_import (0x0000084c)
0x0000036b: DW_TAG_imported_declaration
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/cstdio")
DW_AT_decl_line (115)
DW_AT_import (0x0000086d)
0x00000372: DW_TAG_imported_declaration
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/cstdio")
DW_AT_decl_line (116)
DW_AT_import (0x00000894)
0x00000379: DW_TAG_imported_declaration
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/cstdio")
DW_AT_decl_line (117)
DW_AT_import (0x000008b0)
0x00000380: DW_TAG_imported_declaration
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/cstdio")
DW_AT_decl_line (118)
DW_AT_import (0x000008cd)
0x00000387: DW_TAG_imported_declaration
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/cstdio")
DW_AT_decl_line (119)
DW_AT_import (0x000008e5)
0x0000038e: DW_TAG_imported_declaration
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/cstdio")
DW_AT_decl_line (120)
DW_AT_import (0x00000901)
0x00000395: DW_TAG_imported_declaration
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/cstdio")
DW_AT_decl_line (121)
DW_AT_import (0x00000927)
0x0000039c: DW_TAG_imported_declaration
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/cstdio")
DW_AT_decl_line (122)
DW_AT_import (0x00000947)
0x000003a3: DW_TAG_imported_declaration
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/cstdio")
DW_AT_decl_line (123)
DW_AT_import (0x00000967)
0x000003aa: DW_TAG_imported_declaration
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/cstdio")
DW_AT_decl_line (124)
DW_AT_import (0x00000988)
0x000003b1: DW_TAG_imported_declaration
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/cstdio")
DW_AT_decl_line (125)
DW_AT_import (0x000009a4)
0x000003b8: DW_TAG_imported_declaration
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/cstdio")
DW_AT_decl_line (126)
DW_AT_import (0x000009b6)
0x000003bf: DW_TAG_imported_declaration
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/cstdio")
DW_AT_decl_line (127)
DW_AT_import (0x000009d2)
0x000003c6: DW_TAG_imported_declaration
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/cstdio")
DW_AT_decl_line (128)
DW_AT_import (0x000009e9)
0x000003cd: DW_TAG_imported_declaration
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/cstdio")
DW_AT_decl_line (129)
DW_AT_import (0x00000a00)
0x000003d4: DW_TAG_imported_declaration
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/cstdio")
DW_AT_decl_line (130)
DW_AT_import (0x00000a12)
0x000003db: DW_TAG_imported_declaration
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/cstdio")
DW_AT_decl_line (131)
DW_AT_import (0x00000a29)
0x000003e2: DW_TAG_imported_declaration
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/cstdio")
DW_AT_decl_line (132)
DW_AT_import (0x00000a40)
0x000003e9: DW_TAG_imported_declaration
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/cstdio")
DW_AT_decl_line (133)
DW_AT_import (0x00000a66)
0x000003f0: DW_TAG_imported_declaration
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/cstdio")
DW_AT_decl_line (134)
DW_AT_import (0x00000a92)
0x000003f7: DW_TAG_imported_declaration
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/cstdio")
DW_AT_decl_line (135)
DW_AT_import (0x00000ab3)
0x000003fe: DW_TAG_imported_declaration
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/cstdio")
DW_AT_decl_line (136)
DW_AT_import (0x00000ad6)
0x00000405: DW_TAG_imported_declaration
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/cstdio")
DW_AT_decl_line (137)
DW_AT_import (0x00000af7)
0x0000040c: DW_TAG_imported_declaration
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/cstdio")
DW_AT_decl_line (138)
DW_AT_import (0x00000b09)
0x00000413: DW_TAG_imported_declaration
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/cstdio")
DW_AT_decl_line (139)
DW_AT_import (0x00000b17)
0x0000041a: DW_TAG_imported_declaration
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/cstdio")
DW_AT_decl_line (140)
DW_AT_import (0x00000b25)
0x00000421: DW_TAG_imported_declaration
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/cstdio")
DW_AT_decl_line (141)
DW_AT_import (0x00000b37)
0x00000428: DW_TAG_imported_declaration
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/cstdio")
DW_AT_decl_line (142)
DW_AT_import (0x00000b49)
0x0000042f: DW_TAG_imported_declaration
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/cstdio")
DW_AT_decl_line (145)
DW_AT_import (0x00000b57)
0x00000436: DW_TAG_imported_declaration
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/cstdio")
DW_AT_decl_line (146)
DW_AT_import (0x00000b6d)
0x0000043d: DW_TAG_imported_declaration
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/cstdio")
DW_AT_decl_line (147)
DW_AT_import (0x00000b88)
0x00000444: DW_TAG_imported_declaration
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/cstdio")
DW_AT_decl_line (148)
DW_AT_import (0x00000b99)
0x0000044b: DW_TAG_imported_declaration
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/cstdio")
DW_AT_decl_line (149)
DW_AT_import (0x00000baf)
0x00000452: DW_TAG_imported_declaration
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/cstdio")
DW_AT_decl_line (150)
DW_AT_import (0x00000bba)
0x00000459: DW_TAG_imported_declaration
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/cstdio")
DW_AT_decl_line (154)
DW_AT_import (0x00000bcb)
0x00000460: DW_TAG_imported_declaration
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/cstdio")
DW_AT_decl_line (158)
DW_AT_import (0x00000bd7)
0x00000467: DW_TAG_imported_declaration
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/cstdio")
DW_AT_decl_line (159)
DW_AT_import (0x00000bee)
0x0000046e: DW_TAG_imported_declaration
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/cstdio")
DW_AT_decl_line (163)
DW_AT_import (0x00000c09)
0x00000475: DW_TAG_imported_declaration
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/cstdio")
DW_AT_decl_line (164)
DW_AT_import (0x00000c1c)
0x0000047c: DW_TAG_imported_declaration
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/cstdio")
DW_AT_decl_line (165)
DW_AT_import (0x00000c2e)
0x00000483: DW_TAG_imported_declaration
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/cstdio")
DW_AT_decl_line (166)
DW_AT_import (0x00000c40)
0x0000048a: DW_TAG_imported_declaration
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/cstddef")
DW_AT_decl_line (49)
DW_AT_import (0x00000c57)
0x00000491: DW_TAG_imported_declaration
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/cstddef")
DW_AT_decl_line (50)
DW_AT_import (0x000007e3)
0x00000498: DW_TAG_imported_declaration
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/cstddef")
DW_AT_decl_line (55)
DW_AT_import (0x00000c62)
0x0000049f: DW_TAG_imported_declaration
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/cstdlib")
DW_AT_decl_line (99)
DW_AT_import (0x000007e3)
0x000004a6: DW_TAG_imported_declaration
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/cstdlib")
DW_AT_decl_line (100)
DW_AT_import (0x00000c6e)
0x000004ad: DW_TAG_imported_declaration
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/cstdlib")
DW_AT_decl_line (101)
DW_AT_import (0x00000c7a)
0x000004b4: DW_TAG_imported_declaration
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/cstdlib")
DW_AT_decl_line (103)
DW_AT_import (0x00000ca3)
0x000004bb: DW_TAG_imported_declaration
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/cstdlib")
DW_AT_decl_line (105)
DW_AT_import (0x00000cd3)
0x000004c2: DW_TAG_imported_declaration
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/cstdlib")
DW_AT_decl_line (106)
DW_AT_import (0x00000ceb)
0x000004c9: DW_TAG_imported_declaration
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/cstdlib")
DW_AT_decl_line (107)
DW_AT_import (0x00000cfc)
0x000004d0: DW_TAG_imported_declaration
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/cstdlib")
DW_AT_decl_line (109)
DW_AT_import (0x00000d0d)
0x000004d7: DW_TAG_imported_declaration
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/cstdlib")
DW_AT_decl_line (111)
DW_AT_import (0x00000d1e)
0x000004de: DW_TAG_imported_declaration
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/cstdlib")
DW_AT_decl_line (112)
DW_AT_import (0x00000d3e)
0x000004e5: DW_TAG_imported_declaration
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/cstdlib")
DW_AT_decl_line (113)
DW_AT_import (0x00000d5b)
0x000004ec: DW_TAG_imported_declaration
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/cstdlib")
DW_AT_decl_line (114)
DW_AT_import (0x00000d78)
0x000004f3: DW_TAG_imported_declaration
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/cstdlib")
DW_AT_decl_line (116)
DW_AT_import (0x00000d93)
0x000004fa: DW_TAG_imported_declaration
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/cstdlib")
DW_AT_decl_line (118)
DW_AT_import (0x00000dae)
0x00000501: DW_TAG_imported_declaration
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/cstdlib")
DW_AT_decl_line (120)
DW_AT_import (0x00000dc9)
0x00000508: DW_TAG_imported_declaration
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/cstdlib")
DW_AT_decl_line (122)
DW_AT_import (0x00000deb)
0x0000050f: DW_TAG_imported_declaration
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/cstdlib")
DW_AT_decl_line (123)
DW_AT_import (0x00000df7)
0x00000516: DW_TAG_imported_declaration
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/cstdlib")
DW_AT_decl_line (124)
DW_AT_import (0x00000e0c)
0x0000051d: DW_TAG_imported_declaration
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/cstdlib")
DW_AT_decl_line (125)
DW_AT_import (0x00000e23)
0x00000524: DW_TAG_imported_declaration
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/cstdlib")
DW_AT_decl_line (126)
DW_AT_import (0x00000e31)
0x0000052b: DW_TAG_imported_declaration
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/cstdlib")
DW_AT_decl_line (127)
DW_AT_import (0x00000e43)
0x00000532: DW_TAG_imported_declaration
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/cstdlib")
DW_AT_decl_line (128)
DW_AT_import (0x00000e5a)
0x00000539: DW_TAG_imported_declaration
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/cstdlib")
DW_AT_decl_line (129)
DW_AT_import (0x00000e62)
0x00000540: DW_TAG_imported_declaration
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/cstdlib")
DW_AT_decl_line (130)
DW_AT_import (0x00000e7a)
0x00000547: DW_TAG_imported_declaration
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/cstdlib")
DW_AT_decl_line (131)
DW_AT_import (0x00000e88)
0x0000054e: DW_TAG_imported_declaration
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/cstdlib")
DW_AT_decl_line (133)
DW_AT_import (0x00000e96)
0x00000555: DW_TAG_imported_declaration
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/cstdlib")
DW_AT_decl_line (134)
DW_AT_import (0x00000ea8)
0x0000055c: DW_TAG_imported_declaration
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/cstdlib")
DW_AT_decl_line (136)
DW_AT_import (0x00000eba)
0x00000563: DW_TAG_imported_declaration
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/cstdlib")
DW_AT_decl_line (137)
DW_AT_import (0x00000f01)
0x0000056a: DW_TAG_imported_declaration
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/cstdlib")
DW_AT_decl_line (138)
DW_AT_import (0x00000f1e)
0x00000571: DW_TAG_imported_declaration
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/cstdlib")
DW_AT_decl_line (139)
DW_AT_import (0x00000f34)
0x00000578: DW_TAG_imported_declaration
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/cstdlib")
DW_AT_decl_line (141)
DW_AT_import (0x00000f46)
0x0000057f: DW_TAG_imported_declaration
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/cstdlib")
DW_AT_decl_line (143)
DW_AT_import (0x00000f58)
0x00000586: DW_TAG_imported_declaration
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/cstdlib")
DW_AT_decl_line (144)
DW_AT_import (0x00000f73)
0x0000058d: DW_TAG_imported_declaration
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/cstdlib")
DW_AT_decl_line (146)
DW_AT_import (0x00000f8a)
0x00000594: DW_TAG_imported_declaration
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/cstdlib")
DW_AT_decl_line (148)
DW_AT_import (0x00000fa1)
0x0000059b: DW_TAG_imported_declaration
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/cstdlib")
DW_AT_decl_line (149)
DW_AT_import (0x00000fb8)
0x000005a2: DW_TAG_imported_declaration
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/cstdlib")
DW_AT_decl_line (150)
DW_AT_import (0x00000fe5)
0x000005a9: DW_TAG_imported_declaration
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/cstdlib")
DW_AT_decl_line (151)
DW_AT_import (0x00000ffc)
0x000005b0: DW_TAG_imported_declaration
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/cstdlib")
DW_AT_decl_line (152)
DW_AT_import (0x00001018)
0x000005b7: DW_TAG_imported_declaration
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/cstdlib")
DW_AT_decl_line (154)
DW_AT_import (0x00001043)
0x000005be: DW_TAG_imported_declaration
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/cstdlib")
DW_AT_decl_line (155)
DW_AT_import (0x00001055)
0x000005c5: DW_TAG_imported_declaration
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/cstdlib")
DW_AT_decl_line (158)
DW_AT_import (0x00001063)
0x000005cc: DW_TAG_imported_declaration
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/cstdint")
DW_AT_decl_line (152)
DW_AT_import (0x0000107a)
0x000005d3: DW_TAG_imported_declaration
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/cstdint")
DW_AT_decl_line (153)
DW_AT_import (0x00001097)
0x000005da: DW_TAG_imported_declaration
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/cstdint")
DW_AT_decl_line (154)
DW_AT_import (0x000010b4)
0x000005e1: DW_TAG_imported_declaration
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/cstdint")
DW_AT_decl_line (155)
DW_AT_import (0x000010ca)
0x000005e8: DW_TAG_imported_declaration
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/cstdint")
DW_AT_decl_line (157)
DW_AT_import (0x000010e0)
0x000005ef: DW_TAG_imported_declaration
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/cstdint")
DW_AT_decl_line (158)
DW_AT_import (0x000010fd)
0x000005f6: DW_TAG_imported_declaration
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/cstdint")
DW_AT_decl_line (159)
DW_AT_import (0x0000111a)
0x000005fd: DW_TAG_imported_declaration
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/cstdint")
DW_AT_decl_line (160)
DW_AT_import (0x00001130)
0x00000604: DW_TAG_imported_declaration
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/cstdint")
DW_AT_decl_line (162)
DW_AT_import (0x00001146)
0x0000060b: DW_TAG_imported_declaration
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/cstdint")
DW_AT_decl_line (163)
DW_AT_import (0x0000115c)
0x00000612: DW_TAG_imported_declaration
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/cstdint")
DW_AT_decl_line (164)
DW_AT_import (0x00001172)
0x00000619: DW_TAG_imported_declaration
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/cstdint")
DW_AT_decl_line (165)
DW_AT_import (0x00001188)
0x00000620: DW_TAG_imported_declaration
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/cstdint")
DW_AT_decl_line (167)
DW_AT_import (0x0000119e)
0x00000627: DW_TAG_imported_declaration
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/cstdint")
DW_AT_decl_line (168)
DW_AT_import (0x000011b4)
0x0000062e: DW_TAG_imported_declaration
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/cstdint")
DW_AT_decl_line (169)
DW_AT_import (0x000011ca)
0x00000635: DW_TAG_imported_declaration
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/cstdint")
DW_AT_decl_line (170)
DW_AT_import (0x000011e0)
0x0000063c: DW_TAG_imported_declaration
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/cstdint")
DW_AT_decl_line (172)
DW_AT_import (0x000011f6)
0x00000643: DW_TAG_imported_declaration
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/cstdint")
DW_AT_decl_line (173)
DW_AT_import (0x00001201)
0x0000064a: DW_TAG_imported_declaration
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/cstdint")
DW_AT_decl_line (174)
DW_AT_import (0x0000120c)
0x00000651: DW_TAG_imported_declaration
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/cstdint")
DW_AT_decl_line (175)
DW_AT_import (0x00001217)
0x00000658: DW_TAG_imported_declaration
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/cstdint")
DW_AT_decl_line (177)
DW_AT_import (0x00001222)
0x0000065f: DW_TAG_imported_declaration
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/cstdint")
DW_AT_decl_line (178)
DW_AT_import (0x0000122d)
0x00000666: DW_TAG_imported_declaration
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/cstdint")
DW_AT_decl_line (179)
DW_AT_import (0x00001238)
0x0000066d: DW_TAG_imported_declaration
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/cstdint")
DW_AT_decl_line (180)
DW_AT_import (0x00001243)
0x00000674: DW_TAG_imported_declaration
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/cstdint")
DW_AT_decl_line (182)
DW_AT_import (0x0000124e)
0x0000067b: DW_TAG_imported_declaration
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/cstdint")
DW_AT_decl_line (183)
DW_AT_import (0x00001259)
0x00000682: DW_TAG_imported_declaration
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/cstdint")
DW_AT_decl_line (185)
DW_AT_import (0x00001264)
0x00000689: DW_TAG_imported_declaration
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/cstdint")
DW_AT_decl_line (186)
DW_AT_import (0x0000127a)
0x00000690: DW_TAG_imported_declaration
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/cstring")
DW_AT_decl_line (68)
DW_AT_import (0x000007e3)
0x00000697: DW_TAG_imported_declaration
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/cstring")
DW_AT_decl_line (69)
DW_AT_import (0x00001290)
0x0000069e: DW_TAG_imported_declaration
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/cstring")
DW_AT_decl_line (70)
DW_AT_import (0x000012ab)
0x000006a5: DW_TAG_imported_declaration
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/cstring")
DW_AT_decl_line (71)
DW_AT_import (0x000012c6)
0x000006ac: DW_TAG_imported_declaration
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/cstring")
DW_AT_decl_line (72)
DW_AT_import (0x000012dc)
0x000006b3: DW_TAG_imported_declaration
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/cstring")
DW_AT_decl_line (73)
DW_AT_import (0x000012f7)
0x000006ba: DW_TAG_imported_declaration
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/cstring")
DW_AT_decl_line (74)
DW_AT_import (0x0000130d)
0x000006c1: DW_TAG_imported_declaration
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/cstring")
DW_AT_decl_line (75)
DW_AT_import (0x00001328)
0x000006c8: DW_TAG_imported_declaration
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/cstring")
DW_AT_decl_line (76)
DW_AT_import (0x00001343)
0x000006cf: DW_TAG_imported_declaration
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/cstring")
DW_AT_decl_line (77)
DW_AT_import (0x00001359)
0x000006d6: DW_TAG_imported_declaration
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/cstring")
DW_AT_decl_line (78)
DW_AT_import (0x00001374)
0x000006dd: DW_TAG_imported_declaration
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/cstring")
DW_AT_decl_line (79)
DW_AT_import (0x0000138a)
0x000006e4: DW_TAG_imported_declaration
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/cstring")
DW_AT_decl_line (80)
DW_AT_import (0x000013a5)
0x000006eb: DW_TAG_imported_declaration
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/cstring")
DW_AT_decl_line (81)
DW_AT_import (0x000013c4)
0x000006f2: DW_TAG_imported_declaration
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/cstring")
DW_AT_decl_line (82)
DW_AT_import (0x000013de)
0x000006f9: DW_TAG_imported_declaration
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/cstring")
DW_AT_decl_line (83)
DW_AT_import (0x000013f5)
0x00000700: DW_TAG_imported_declaration
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/cstring")
DW_AT_decl_line (84)
DW_AT_import (0x0000140f)
0x00000707: DW_TAG_imported_declaration
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/cstring")
DW_AT_decl_line (85)
DW_AT_import (0x00001429)
0x0000070e: DW_TAG_imported_declaration
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/cstring")
DW_AT_decl_line (86)
DW_AT_import (0x00001440)
0x00000715: DW_TAG_imported_declaration
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/cstring")
DW_AT_decl_line (88)
DW_AT_import (0x0000145a)
0x0000071c: DW_TAG_imported_declaration
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/cstring")
DW_AT_decl_line (90)
DW_AT_import (0x00001471)
0x00000723: DW_TAG_imported_declaration
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/cstring")
DW_AT_decl_line (91)
DW_AT_import (0x0000148c)
0x0000072a: DW_TAG_imported_declaration
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/cstring")
DW_AT_decl_line (92)
DW_AT_import (0x0000149e)
0x00000731: DW_TAG_subprogram
DW_AT_low_pc (0x0000000000202ca0)
DW_AT_high_pc (0x0000000000202cae)
DW_AT_frame_base (DW_OP_reg6 RBP)
DW_AT_linkage_name ("_ZNSt3__19addressofIN4coro12promise_typeEEEPT_RS3_")
DW_AT_name ("addressof<coro::promise_type>")
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/type_traits")
DW_AT_decl_line (591)
DW_AT_type (0x000018c5 "promise_type*")
DW_AT_external (true)
0x0000074f: DW_TAG_formal_parameter
DW_AT_location (DW_OP_fbreg -8)
DW_AT_name ("__x")
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/type_traits")
DW_AT_decl_line (591)
DW_AT_type (0x00000795 "promise_type&")
0x0000075e: DW_TAG_template_type_parameter
DW_AT_type (0x0000003f "promise_type")
DW_AT_name ("_Tp")
0x00000767: NULL
0x00000768: NULL
0x00000769: NULL
0x0000076a: DW_TAG_pointer_type
0x0000076b: DW_TAG_pointer_type
DW_AT_type (0x00000165 "coroutine_handle<void>")
0x00000770: DW_TAG_unspecified_type
DW_AT_name ("decltype(nullptr)")
0x00000775: DW_TAG_reference_type
DW_AT_type (0x00000165 "coroutine_handle<void>")
0x0000077a: DW_TAG_pointer_type
DW_AT_type (0x0000077f "const coroutine_handle<void>")
0x0000077f: DW_TAG_const_type
DW_AT_type (0x00000165 "coroutine_handle<void>")
0x00000784: DW_TAG_base_type
DW_AT_name ("bool")
DW_AT_encoding (DW_ATE_boolean)
DW_AT_byte_size (0x01)
0x0000078b: DW_TAG_reference_type
DW_AT_type (0x000000cc "coroutine_handle<coro::promise_type>")
0x00000790: DW_TAG_pointer_type
DW_AT_type (0x000000cc "coroutine_handle<coro::promise_type>")
0x00000795: DW_TAG_reference_type
DW_AT_type (0x0000003f "promise_type")
0x0000079a: DW_TAG_pointer_type
DW_AT_type (0x0000003f "promise_type")
0x0000079f: DW_TAG_pointer_type
DW_AT_type (0x000007a4 "const suspend_never")
0x000007a4: DW_TAG_const_type
DW_AT_type (0x00000275 "suspend_never")
0x000007a9: DW_TAG_pointer_type
DW_AT_type (0x000007ae "const coroutine_handle<coro::promise_type>")
0x000007ae: DW_TAG_const_type
DW_AT_type (0x000000cc "coroutine_handle<coro::promise_type>")
0x000007b3: DW_TAG_pointer_type
DW_AT_type (0x0000002a "coro")
0x000007b8: DW_TAG_typedef
DW_AT_type (0x000007c3 "_IO_FILE")
DW_AT_name ("FILE")
DW_AT_decl_file ("/usr/include/x86_64-linux-gnu/bits/types/FILE.h")
DW_AT_decl_line (7)
0x000007c3: DW_TAG_structure_type
DW_AT_name ("_IO_FILE")
DW_AT_declaration (true)
0x000007c8: DW_TAG_typedef
DW_AT_type (0x000007d3 "__fpos_t")
DW_AT_name ("fpos_t")
DW_AT_decl_file ("/usr/include/stdio.h")
DW_AT_decl_line (84)
0x000007d3: DW_TAG_typedef
DW_AT_type (0x000007de "_G_fpos_t")
DW_AT_name ("__fpos_t")
DW_AT_decl_file ("/usr/include/x86_64-linux-gnu/bits/types/__fpos_t.h")
DW_AT_decl_line (14)
0x000007de: DW_TAG_structure_type
DW_AT_name ("_G_fpos_t")
DW_AT_declaration (true)
0x000007e3: DW_TAG_typedef
DW_AT_type (0x000007ee "long unsigned int")
DW_AT_name ("size_t")
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/lib/clang/11.0.0/include/stddef.h")
DW_AT_decl_line (46)
0x000007ee: DW_TAG_base_type
DW_AT_name ("long unsigned int")
DW_AT_encoding (DW_ATE_unsigned)
DW_AT_byte_size (0x08)
0x000007f5: DW_TAG_subprogram
DW_AT_name ("fclose")
DW_AT_decl_file ("/usr/include/stdio.h")
DW_AT_decl_line (213)
DW_AT_type (0x00000806 "int")
DW_AT_declaration (true)
DW_AT_external (true)
0x00000800: DW_TAG_formal_parameter
DW_AT_type (0x0000080d "FILE*")
0x00000805: NULL
0x00000806: DW_TAG_base_type
DW_AT_name ("int")
DW_AT_encoding (DW_ATE_signed)
DW_AT_byte_size (0x04)
0x0000080d: DW_TAG_pointer_type
DW_AT_type (0x000007b8 "FILE")
0x00000812: DW_TAG_subprogram
DW_AT_name ("fflush")
DW_AT_decl_file ("/usr/include/stdio.h")
DW_AT_decl_line (218)
DW_AT_type (0x00000806 "int")
DW_AT_declaration (true)
DW_AT_external (true)
0x0000081d: DW_TAG_formal_parameter
DW_AT_type (0x0000080d "FILE*")
0x00000822: NULL
0x00000823: DW_TAG_subprogram
DW_AT_name ("setbuf")
DW_AT_decl_file ("/usr/include/stdio.h")
DW_AT_decl_line (304)
DW_AT_declaration (true)
DW_AT_external (true)
0x0000082b: DW_TAG_formal_parameter
DW_AT_type (0x00000836 "restrict FILE*")
0x00000830: DW_TAG_formal_parameter
DW_AT_type (0x0000083b "restrict char*")
0x00000835: NULL
0x00000836: DW_TAG_restrict_type
DW_AT_type (0x0000080d "FILE*")
0x0000083b: DW_TAG_restrict_type
DW_AT_type (0x00000840 "char*")
0x00000840: DW_TAG_pointer_type
DW_AT_type (0x00000845 "char")
0x00000845: DW_TAG_base_type
DW_AT_name ("char")
DW_AT_encoding (DW_ATE_signed_char)
DW_AT_byte_size (0x01)
0x0000084c: DW_TAG_subprogram
DW_AT_name ("setvbuf")
DW_AT_decl_file ("/usr/include/stdio.h")
DW_AT_decl_line (308)
DW_AT_type (0x00000806 "int")
DW_AT_declaration (true)
DW_AT_external (true)
0x00000858: DW_TAG_formal_parameter
DW_AT_type (0x00000836 "restrict FILE*")
0x0000085d: DW_TAG_formal_parameter
DW_AT_type (0x0000083b "restrict char*")
0x00000862: DW_TAG_formal_parameter
DW_AT_type (0x00000806 "int")
0x00000867: DW_TAG_formal_parameter
DW_AT_type (0x000007e3 "size_t")
0x0000086c: NULL
0x0000086d: DW_TAG_subprogram
DW_AT_name ("fprintf")
DW_AT_decl_file ("/usr/include/stdio.h")
DW_AT_decl_line (326)
DW_AT_type (0x00000806 "int")
DW_AT_declaration (true)
DW_AT_external (true)
0x00000879: DW_TAG_formal_parameter
DW_AT_type (0x00000836 "restrict FILE*")
0x0000087e: DW_TAG_formal_parameter
DW_AT_type (0x00000885 "restrict const char*")
0x00000883: DW_TAG_unspecified_parameters
0x00000884: NULL
0x00000885: DW_TAG_restrict_type
DW_AT_type (0x0000088a "const char*")
0x0000088a: DW_TAG_pointer_type
DW_AT_type (0x0000088f "const char")
0x0000088f: DW_TAG_const_type
DW_AT_type (0x00000845 "char")
0x00000894: DW_TAG_subprogram
DW_AT_linkage_name ("__isoc99_fscanf")
DW_AT_name ("fscanf")
DW_AT_decl_file ("/usr/include/stdio.h")
DW_AT_decl_line (407)
DW_AT_type (0x00000806 "int")
DW_AT_declaration (true)
DW_AT_external (true)
0x000008a4: DW_TAG_formal_parameter
DW_AT_type (0x00000836 "restrict FILE*")
0x000008a9: DW_TAG_formal_parameter
DW_AT_type (0x00000885 "restrict const char*")
0x000008ae: DW_TAG_unspecified_parameters
0x000008af: NULL
0x000008b0: DW_TAG_subprogram
DW_AT_name ("snprintf")
DW_AT_decl_file ("/usr/include/stdio.h")
DW_AT_decl_line (354)
DW_AT_type (0x00000806 "int")
DW_AT_declaration (true)
DW_AT_external (true)
0x000008bc: DW_TAG_formal_parameter
DW_AT_type (0x0000083b "restrict char*")
0x000008c1: DW_TAG_formal_parameter
DW_AT_type (0x000007e3 "size_t")
0x000008c6: DW_TAG_formal_parameter
DW_AT_type (0x00000885 "restrict const char*")
0x000008cb: DW_TAG_unspecified_parameters
0x000008cc: NULL
0x000008cd: DW_TAG_subprogram
DW_AT_name ("sprintf")
DW_AT_decl_file ("/usr/include/stdio.h")
DW_AT_decl_line (334)
DW_AT_type (0x00000806 "int")
DW_AT_declaration (true)
DW_AT_external (true)
0x000008d9: DW_TAG_formal_parameter
DW_AT_type (0x0000083b "restrict char*")
0x000008de: DW_TAG_formal_parameter
DW_AT_type (0x00000885 "restrict const char*")
0x000008e3: DW_TAG_unspecified_parameters
0x000008e4: NULL
0x000008e5: DW_TAG_subprogram
DW_AT_linkage_name ("__isoc99_sscanf")
DW_AT_name ("sscanf")
DW_AT_decl_file ("/usr/include/stdio.h")
DW_AT_decl_line (412)
DW_AT_type (0x00000806 "int")
DW_AT_declaration (true)
DW_AT_external (true)
0x000008f5: DW_TAG_formal_parameter
DW_AT_type (0x00000885 "restrict const char*")
0x000008fa: DW_TAG_formal_parameter
DW_AT_type (0x00000885 "restrict const char*")
0x000008ff: DW_TAG_unspecified_parameters
0x00000900: NULL
0x00000901: DW_TAG_subprogram
DW_AT_name ("vfprintf")
DW_AT_decl_file ("/usr/include/stdio.h")
DW_AT_decl_line (341)
DW_AT_type (0x00000806 "int")
DW_AT_declaration (true)
DW_AT_external (true)
0x0000090d: DW_TAG_formal_parameter
DW_AT_type (0x00000836 "restrict FILE*")
0x00000912: DW_TAG_formal_parameter
DW_AT_type (0x00000885 "restrict const char*")
0x00000917: DW_TAG_formal_parameter
DW_AT_type (0x0000091d "__va_list_tag*")
0x0000091c: NULL
0x0000091d: DW_TAG_pointer_type
DW_AT_type (0x00000922 "__va_list_tag")
0x00000922: DW_TAG_structure_type
DW_AT_name ("__va_list_tag")
DW_AT_declaration (true)
0x00000927: DW_TAG_subprogram
DW_AT_linkage_name ("__isoc99_vfscanf")
DW_AT_name ("vfscanf")
DW_AT_decl_file ("/usr/include/stdio.h")
DW_AT_decl_line (451)
DW_AT_type (0x00000806 "int")
DW_AT_declaration (true)
DW_AT_external (true)
0x00000937: DW_TAG_formal_parameter
DW_AT_type (0x00000836 "restrict FILE*")
0x0000093c: DW_TAG_formal_parameter
DW_AT_type (0x00000885 "restrict const char*")
0x00000941: DW_TAG_formal_parameter
DW_AT_type (0x0000091d "__va_list_tag*")
0x00000946: NULL
0x00000947: DW_TAG_subprogram
DW_AT_linkage_name ("__isoc99_vsscanf")
DW_AT_name ("vsscanf")
DW_AT_decl_file ("/usr/include/stdio.h")
DW_AT_decl_line (459)
DW_AT_type (0x00000806 "int")
DW_AT_declaration (true)
DW_AT_external (true)
0x00000957: DW_TAG_formal_parameter
DW_AT_type (0x00000885 "restrict const char*")
0x0000095c: DW_TAG_formal_parameter
DW_AT_type (0x00000885 "restrict const char*")
0x00000961: DW_TAG_formal_parameter
DW_AT_type (0x0000091d "__va_list_tag*")
0x00000966: NULL
0x00000967: DW_TAG_subprogram
DW_AT_name ("vsnprintf")
DW_AT_decl_file ("/usr/include/stdio.h")
DW_AT_decl_line (358)
DW_AT_type (0x00000806 "int")
DW_AT_declaration (true)
DW_AT_external (true)
0x00000973: DW_TAG_formal_parameter
DW_AT_type (0x0000083b "restrict char*")
0x00000978: DW_TAG_formal_parameter
DW_AT_type (0x000007e3 "size_t")
0x0000097d: DW_TAG_formal_parameter
DW_AT_type (0x00000885 "restrict const char*")
0x00000982: DW_TAG_formal_parameter
DW_AT_type (0x0000091d "__va_list_tag*")
0x00000987: NULL
0x00000988: DW_TAG_subprogram
DW_AT_name ("vsprintf")
DW_AT_decl_file ("/usr/include/stdio.h")
DW_AT_decl_line (349)
DW_AT_type (0x00000806 "int")
DW_AT_declaration (true)
DW_AT_external (true)
0x00000994: DW_TAG_formal_parameter
DW_AT_type (0x0000083b "restrict char*")
0x00000999: DW_TAG_formal_parameter
DW_AT_type (0x00000885 "restrict const char*")
0x0000099e: DW_TAG_formal_parameter
DW_AT_type (0x0000091d "__va_list_tag*")
0x000009a3: NULL
0x000009a4: DW_TAG_subprogram
DW_AT_name ("fgetc")
DW_AT_decl_file ("/usr/include/stdio.h")
DW_AT_decl_line (485)
DW_AT_type (0x00000806 "int")
DW_AT_declaration (true)
DW_AT_external (true)
0x000009b0: DW_TAG_formal_parameter
DW_AT_type (0x0000080d "FILE*")
0x000009b5: NULL
0x000009b6: DW_TAG_subprogram
DW_AT_name ("fgets")
DW_AT_decl_file ("/usr/include/stdio.h")
DW_AT_decl_line (564)
DW_AT_type (0x00000840 "char*")
DW_AT_declaration (true)
DW_AT_external (true)
0x000009c2: DW_TAG_formal_parameter
DW_AT_type (0x0000083b "restrict char*")
0x000009c7: DW_TAG_formal_parameter
DW_AT_type (0x00000806 "int")
0x000009cc: DW_TAG_formal_parameter
DW_AT_type (0x00000836 "restrict FILE*")
0x000009d1: NULL
0x000009d2: DW_TAG_subprogram
DW_AT_name ("fputc")
DW_AT_decl_file ("/usr/include/stdio.h")
DW_AT_decl_line (521)
DW_AT_type (0x00000806 "int")
DW_AT_declaration (true)
DW_AT_external (true)
0x000009de: DW_TAG_formal_parameter
DW_AT_type (0x00000806 "int")
0x000009e3: DW_TAG_formal_parameter
DW_AT_type (0x0000080d "FILE*")
0x000009e8: NULL
0x000009e9: DW_TAG_subprogram
DW_AT_name ("fputs")
DW_AT_decl_file ("/usr/include/stdio.h")
DW_AT_decl_line (626)
DW_AT_type (0x00000806 "int")
DW_AT_declaration (true)
DW_AT_external (true)
0x000009f5: DW_TAG_formal_parameter
DW_AT_type (0x00000885 "restrict const char*")
0x000009fa: DW_TAG_formal_parameter
DW_AT_type (0x00000836 "restrict FILE*")
0x000009ff: NULL
0x00000a00: DW_TAG_subprogram
DW_AT_name ("getc")
DW_AT_decl_file ("/usr/include/stdio.h")
DW_AT_decl_line (486)
DW_AT_type (0x00000806 "int")
DW_AT_declaration (true)
DW_AT_external (true)
0x00000a0c: DW_TAG_formal_parameter
DW_AT_type (0x0000080d "FILE*")
0x00000a11: NULL
0x00000a12: DW_TAG_subprogram
DW_AT_name ("putc")
DW_AT_decl_file ("/usr/include/stdio.h")
DW_AT_decl_line (522)
DW_AT_type (0x00000806 "int")
DW_AT_declaration (true)
DW_AT_external (true)
0x00000a1e: DW_TAG_formal_parameter
DW_AT_type (0x00000806 "int")
0x00000a23: DW_TAG_formal_parameter
DW_AT_type (0x0000080d "FILE*")
0x00000a28: NULL
0x00000a29: DW_TAG_subprogram
DW_AT_name ("ungetc")
DW_AT_decl_file ("/usr/include/stdio.h")
DW_AT_decl_line (639)
DW_AT_type (0x00000806 "int")
DW_AT_declaration (true)
DW_AT_external (true)
0x00000a35: DW_TAG_formal_parameter
DW_AT_type (0x00000806 "int")
0x00000a3a: DW_TAG_formal_parameter
DW_AT_type (0x0000080d "FILE*")
0x00000a3f: NULL
0x00000a40: DW_TAG_subprogram
DW_AT_name ("fread")
DW_AT_decl_file ("/usr/include/stdio.h")
DW_AT_decl_line (646)
DW_AT_type (0x000007e3 "size_t")
DW_AT_declaration (true)
DW_AT_external (true)
0x00000a4c: DW_TAG_formal_parameter
DW_AT_type (0x00000a61 "restrict *")
0x00000a51: DW_TAG_formal_parameter
DW_AT_type (0x000007e3 "size_t")
0x00000a56: DW_TAG_formal_parameter
DW_AT_type (0x000007e3 "size_t")
0x00000a5b: DW_TAG_formal_parameter
DW_AT_type (0x00000836 "restrict FILE*")
0x00000a60: NULL
0x00000a61: DW_TAG_restrict_type
DW_AT_type (0x0000076a "*")
0x00000a66: DW_TAG_subprogram
DW_AT_name ("fwrite")
DW_AT_decl_file ("/usr/include/stdio.h")
DW_AT_decl_line (652)
DW_AT_type (0x000007e3 "size_t")
DW_AT_declaration (true)
DW_AT_external (true)
0x00000a72: DW_TAG_formal_parameter
DW_AT_type (0x00000a87 "restrict const *")
0x00000a77: DW_TAG_formal_parameter
DW_AT_type (0x000007e3 "size_t")
0x00000a7c: DW_TAG_formal_parameter
DW_AT_type (0x000007e3 "size_t")
0x00000a81: DW_TAG_formal_parameter
DW_AT_type (0x00000836 "restrict FILE*")
0x00000a86: NULL
0x00000a87: DW_TAG_restrict_type
DW_AT_type (0x00000a8c "const *")
0x00000a8c: DW_TAG_pointer_type
DW_AT_type (0x00000a91 "const ")
0x00000a91: DW_TAG_const_type
0x00000a92: DW_TAG_subprogram
DW_AT_name ("fgetpos")
DW_AT_decl_file ("/usr/include/stdio.h")
DW_AT_decl_line (731)
DW_AT_type (0x00000806 "int")
DW_AT_declaration (true)
DW_AT_external (true)
0x00000a9e: DW_TAG_formal_parameter
DW_AT_type (0x00000836 "restrict FILE*")
0x00000aa3: DW_TAG_formal_parameter
DW_AT_type (0x00000aa9 "restrict fpos_t*")
0x00000aa8: NULL
0x00000aa9: DW_TAG_restrict_type
DW_AT_type (0x00000aae "fpos_t*")
0x00000aae: DW_TAG_pointer_type
DW_AT_type (0x000007c8 "fpos_t")
0x00000ab3: DW_TAG_subprogram
DW_AT_name ("fseek")
DW_AT_decl_file ("/usr/include/stdio.h")
DW_AT_decl_line (684)
DW_AT_type (0x00000806 "int")
DW_AT_declaration (true)
DW_AT_external (true)
0x00000abf: DW_TAG_formal_parameter
DW_AT_type (0x0000080d "FILE*")
0x00000ac4: DW_TAG_formal_parameter
DW_AT_type (0x00000acf "long int")
0x00000ac9: DW_TAG_formal_parameter
DW_AT_type (0x00000806 "int")
0x00000ace: NULL
0x00000acf: DW_TAG_base_type
DW_AT_name ("long int")
DW_AT_encoding (DW_ATE_signed)
DW_AT_byte_size (0x08)
0x00000ad6: DW_TAG_subprogram
DW_AT_name ("fsetpos")
DW_AT_decl_file ("/usr/include/stdio.h")
DW_AT_decl_line (736)
DW_AT_type (0x00000806 "int")
DW_AT_declaration (true)
DW_AT_external (true)
0x00000ae2: DW_TAG_formal_parameter
DW_AT_type (0x0000080d "FILE*")
0x00000ae7: DW_TAG_formal_parameter
DW_AT_type (0x00000aed "const fpos_t*")
0x00000aec: NULL
0x00000aed: DW_TAG_pointer_type
DW_AT_type (0x00000af2 "const fpos_t")
0x00000af2: DW_TAG_const_type
DW_AT_type (0x000007c8 "fpos_t")
0x00000af7: DW_TAG_subprogram
DW_AT_name ("ftell")
DW_AT_decl_file ("/usr/include/stdio.h")
DW_AT_decl_line (689)
DW_AT_type (0x00000acf "long int")
DW_AT_declaration (true)
DW_AT_external (true)
0x00000b03: DW_TAG_formal_parameter
DW_AT_type (0x0000080d "FILE*")
0x00000b08: NULL
0x00000b09: DW_TAG_subprogram
DW_AT_name ("rewind")
DW_AT_decl_file ("/usr/include/stdio.h")
DW_AT_decl_line (694)
DW_AT_declaration (true)
DW_AT_external (true)
0x00000b11: DW_TAG_formal_parameter
DW_AT_type (0x0000080d "FILE*")
0x00000b16: NULL
0x00000b17: DW_TAG_subprogram
DW_AT_name ("clearerr")
DW_AT_decl_file ("/usr/include/stdio.h")
DW_AT_decl_line (757)
DW_AT_declaration (true)
DW_AT_external (true)
0x00000b1f: DW_TAG_formal_parameter
DW_AT_type (0x0000080d "FILE*")
0x00000b24: NULL
0x00000b25: DW_TAG_subprogram
DW_AT_name ("feof")
DW_AT_decl_file ("/usr/include/stdio.h")
DW_AT_decl_line (759)
DW_AT_type (0x00000806 "int")
DW_AT_declaration (true)
DW_AT_external (true)
0x00000b31: DW_TAG_formal_parameter
DW_AT_type (0x0000080d "FILE*")
0x00000b36: NULL
0x00000b37: DW_TAG_subprogram
DW_AT_name ("ferror")
DW_AT_decl_file ("/usr/include/stdio.h")
DW_AT_decl_line (761)
DW_AT_type (0x00000806 "int")
DW_AT_declaration (true)
DW_AT_external (true)
0x00000b43: DW_TAG_formal_parameter
DW_AT_type (0x0000080d "FILE*")
0x00000b48: NULL
0x00000b49: DW_TAG_subprogram
DW_AT_name ("perror")
DW_AT_decl_file ("/usr/include/stdio.h")
DW_AT_decl_line (775)
DW_AT_declaration (true)
DW_AT_external (true)
0x00000b51: DW_TAG_formal_parameter
DW_AT_type (0x0000088a "const char*")
0x00000b56: NULL
0x00000b57: DW_TAG_subprogram
DW_AT_name ("fopen")
DW_AT_decl_file ("/usr/include/stdio.h")
DW_AT_decl_line (246)
DW_AT_type (0x0000080d "FILE*")
DW_AT_declaration (true)
DW_AT_external (true)
0x00000b62: DW_TAG_formal_parameter
DW_AT_type (0x00000885 "restrict const char*")
0x00000b67: DW_TAG_formal_parameter
DW_AT_type (0x00000885 "restrict const char*")
0x00000b6c: NULL
0x00000b6d: DW_TAG_subprogram
DW_AT_name ("freopen")
DW_AT_decl_file ("/usr/include/stdio.h")
DW_AT_decl_line (252)
DW_AT_type (0x0000080d "FILE*")
DW_AT_declaration (true)
DW_AT_external (true)
0x00000b78: DW_TAG_formal_parameter
DW_AT_type (0x00000885 "restrict const char*")
0x00000b7d: DW_TAG_formal_parameter
DW_AT_type (0x00000885 "restrict const char*")
0x00000b82: DW_TAG_formal_parameter
DW_AT_type (0x00000836 "restrict FILE*")
0x00000b87: NULL
0x00000b88: DW_TAG_subprogram
DW_AT_name ("remove")
DW_AT_decl_file ("/usr/include/stdio.h")
DW_AT_decl_line (146)
DW_AT_type (0x00000806 "int")
DW_AT_declaration (true)
DW_AT_external (true)
0x00000b93: DW_TAG_formal_parameter
DW_AT_type (0x0000088a "const char*")
0x00000b98: NULL
0x00000b99: DW_TAG_subprogram
DW_AT_name ("rename")
DW_AT_decl_file ("/usr/include/stdio.h")
DW_AT_decl_line (148)
DW_AT_type (0x00000806 "int")
DW_AT_declaration (true)
DW_AT_external (true)
0x00000ba4: DW_TAG_formal_parameter
DW_AT_type (0x0000088a "const char*")
0x00000ba9: DW_TAG_formal_parameter
DW_AT_type (0x0000088a "const char*")
0x00000bae: NULL
0x00000baf: DW_TAG_subprogram
DW_AT_name ("tmpfile")
DW_AT_decl_file ("/usr/include/stdio.h")
DW_AT_decl_line (173)
DW_AT_type (0x0000080d "FILE*")
DW_AT_declaration (true)
DW_AT_external (true)
0x00000bba: DW_TAG_subprogram
DW_AT_name ("tmpnam")
DW_AT_decl_file ("/usr/include/stdio.h")
DW_AT_decl_line (187)
DW_AT_type (0x00000840 "char*")
DW_AT_declaration (true)
DW_AT_external (true)
0x00000bc5: DW_TAG_formal_parameter
DW_AT_type (0x00000840 "char*")
0x00000bca: NULL
0x00000bcb: DW_TAG_subprogram
DW_AT_name ("getchar")
DW_AT_decl_file ("/usr/include/stdio.h")
DW_AT_decl_line (492)
DW_AT_type (0x00000806 "int")
DW_AT_declaration (true)
DW_AT_external (true)
0x00000bd7: DW_TAG_subprogram
DW_AT_linkage_name ("__isoc99_scanf")
DW_AT_name ("scanf")
DW_AT_decl_file ("/usr/include/stdio.h")
DW_AT_decl_line (410)
DW_AT_type (0x00000806 "int")
DW_AT_declaration (true)
DW_AT_external (true)
0x00000be7: DW_TAG_formal_parameter
DW_AT_type (0x00000885 "restrict const char*")
0x00000bec: DW_TAG_unspecified_parameters
0x00000bed: NULL
0x00000bee: DW_TAG_subprogram
DW_AT_linkage_name ("__isoc99_vscanf")
DW_AT_name ("vscanf")
DW_AT_decl_file ("/usr/include/stdio.h")
DW_AT_decl_line (456)
DW_AT_type (0x00000806 "int")
DW_AT_declaration (true)
DW_AT_external (true)
0x00000bfe: DW_TAG_formal_parameter
DW_AT_type (0x00000885 "restrict const char*")
0x00000c03: DW_TAG_formal_parameter
DW_AT_type (0x0000091d "__va_list_tag*")
0x00000c08: NULL
0x00000c09: DW_TAG_subprogram
DW_AT_name ("printf")
DW_AT_decl_file ("/usr/include/stdio.h")
DW_AT_decl_line (332)
DW_AT_type (0x00000806 "int")
DW_AT_declaration (true)
DW_AT_external (true)
0x00000c15: DW_TAG_formal_parameter
DW_AT_type (0x00000885 "restrict const char*")
0x00000c1a: DW_TAG_unspecified_parameters
0x00000c1b: NULL
0x00000c1c: DW_TAG_subprogram
DW_AT_name ("putchar")
DW_AT_decl_file ("/usr/include/stdio.h")
DW_AT_decl_line (528)
DW_AT_type (0x00000806 "int")
DW_AT_declaration (true)
DW_AT_external (true)
0x00000c28: DW_TAG_formal_parameter
DW_AT_type (0x00000806 "int")
0x00000c2d: NULL
0x00000c2e: DW_TAG_subprogram
DW_AT_name ("puts")
DW_AT_decl_file ("/usr/include/stdio.h")
DW_AT_decl_line (632)
DW_AT_type (0x00000806 "int")
DW_AT_declaration (true)
DW_AT_external (true)
0x00000c3a: DW_TAG_formal_parameter
DW_AT_type (0x0000088a "const char*")
0x00000c3f: NULL
0x00000c40: DW_TAG_subprogram
DW_AT_name ("vprintf")
DW_AT_decl_file ("/usr/include/stdio.h")
DW_AT_decl_line (347)
DW_AT_type (0x00000806 "int")
DW_AT_declaration (true)
DW_AT_external (true)
0x00000c4c: DW_TAG_formal_parameter
DW_AT_type (0x00000885 "restrict const char*")
0x00000c51: DW_TAG_formal_parameter
DW_AT_type (0x0000091d "__va_list_tag*")
0x00000c56: NULL
0x00000c57: DW_TAG_typedef
DW_AT_type (0x00000acf "long int")
DW_AT_name ("ptrdiff_t")
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/lib/clang/11.0.0/include/stddef.h")
DW_AT_decl_line (35)
0x00000c62: DW_TAG_typedef
DW_AT_type (0x00000c6d "structure ")
DW_AT_name ("max_align_t")
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/lib/clang/11.0.0/include/__stddef_max_align_t.h")
DW_AT_decl_line (24)
0x00000c6d: DW_TAG_structure_type
DW_AT_declaration (true)
0x00000c6e: DW_TAG_typedef
DW_AT_type (0x00000c79 "structure ")
DW_AT_name ("div_t")
DW_AT_decl_file ("/usr/include/stdlib.h")
DW_AT_decl_line (62)
0x00000c79: DW_TAG_structure_type
DW_AT_declaration (true)
0x00000c7a: DW_TAG_typedef
DW_AT_type (0x00000c85 "structure ")
DW_AT_name ("ldiv_t")
DW_AT_decl_file ("/usr/include/stdlib.h")
DW_AT_decl_line (70)
0x00000c85: DW_TAG_structure_type
DW_AT_calling_convention (DW_CC_pass_by_value)
DW_AT_byte_size (0x10)
DW_AT_decl_file ("/usr/include/stdlib.h")
DW_AT_decl_line (66)
0x00000c8a: DW_TAG_member
DW_AT_name ("quot")
DW_AT_type (0x00000acf "long int")
DW_AT_decl_file ("/usr/include/stdlib.h")
DW_AT_decl_line (68)
DW_AT_data_member_location (0x00)
0x00000c96: DW_TAG_member
DW_AT_name ("rem")
DW_AT_type (0x00000acf "long int")
DW_AT_decl_file ("/usr/include/stdlib.h")
DW_AT_decl_line (69)
DW_AT_data_member_location (0x08)
0x00000ca2: NULL
0x00000ca3: DW_TAG_typedef
DW_AT_type (0x00000cae "structure ")
DW_AT_name ("lldiv_t")
DW_AT_decl_file ("/usr/include/stdlib.h")
DW_AT_decl_line (80)
0x00000cae: DW_TAG_structure_type
DW_AT_calling_convention (DW_CC_pass_by_value)
DW_AT_byte_size (0x10)
DW_AT_decl_file ("/usr/include/stdlib.h")
DW_AT_decl_line (76)
0x00000cb3: DW_TAG_member
DW_AT_name ("quot")
DW_AT_type (0x00000ccc "long long int")
DW_AT_decl_file ("/usr/include/stdlib.h")
DW_AT_decl_line (78)
DW_AT_data_member_location (0x00)
0x00000cbf: DW_TAG_member
DW_AT_name ("rem")
DW_AT_type (0x00000ccc "long long int")
DW_AT_decl_file ("/usr/include/stdlib.h")
DW_AT_decl_line (79)
DW_AT_data_member_location (0x08)
0x00000ccb: NULL
0x00000ccc: DW_TAG_base_type
DW_AT_name ("long long int")
DW_AT_encoding (DW_ATE_signed)
DW_AT_byte_size (0x08)
0x00000cd3: DW_TAG_subprogram
DW_AT_name ("atof")
DW_AT_decl_file ("/usr/include/stdlib.h")
DW_AT_decl_line (101)
DW_AT_type (0x00000ce4 "double")
DW_AT_declaration (true)
DW_AT_external (true)
0x00000cde: DW_TAG_formal_parameter
DW_AT_type (0x0000088a "const char*")
0x00000ce3: NULL
0x00000ce4: DW_TAG_base_type
DW_AT_name ("double")
DW_AT_encoding (DW_ATE_float)
DW_AT_byte_size (0x08)
0x00000ceb: DW_TAG_subprogram
DW_AT_name ("atoi")
DW_AT_decl_file ("/usr/include/stdlib.h")
DW_AT_decl_line (104)
DW_AT_type (0x00000806 "int")
DW_AT_declaration (true)
DW_AT_external (true)
0x00000cf6: DW_TAG_formal_parameter
DW_AT_type (0x0000088a "const char*")
0x00000cfb: NULL
0x00000cfc: DW_TAG_subprogram
DW_AT_name ("atol")
DW_AT_decl_file ("/usr/include/stdlib.h")
DW_AT_decl_line (107)
DW_AT_type (0x00000acf "long int")
DW_AT_declaration (true)
DW_AT_external (true)
0x00000d07: DW_TAG_formal_parameter
DW_AT_type (0x0000088a "const char*")
0x00000d0c: NULL
0x00000d0d: DW_TAG_subprogram
DW_AT_name ("atoll")
DW_AT_decl_file ("/usr/include/stdlib.h")
DW_AT_decl_line (112)
DW_AT_type (0x00000ccc "long long int")
DW_AT_declaration (true)
DW_AT_external (true)
0x00000d18: DW_TAG_formal_parameter
DW_AT_type (0x0000088a "const char*")
0x00000d1d: NULL
0x00000d1e: DW_TAG_subprogram
DW_AT_name ("strtod")
DW_AT_decl_file ("/usr/include/stdlib.h")
DW_AT_decl_line (117)
DW_AT_type (0x00000ce4 "double")
DW_AT_declaration (true)
DW_AT_external (true)
0x00000d29: DW_TAG_formal_parameter
DW_AT_type (0x00000885 "restrict const char*")
0x00000d2e: DW_TAG_formal_parameter
DW_AT_type (0x00000d34 "restrict char**")
0x00000d33: NULL
0x00000d34: DW_TAG_restrict_type
DW_AT_type (0x00000d39 "char**")
0x00000d39: DW_TAG_pointer_type
DW_AT_type (0x00000840 "char*")
0x00000d3e: DW_TAG_subprogram
DW_AT_name ("strtof")
DW_AT_decl_file ("/usr/include/stdlib.h")
DW_AT_decl_line (123)
DW_AT_type (0x00000d54 "float")
DW_AT_declaration (true)
DW_AT_external (true)
0x00000d49: DW_TAG_formal_parameter
DW_AT_type (0x00000885 "restrict const char*")
0x00000d4e: DW_TAG_formal_parameter
DW_AT_type (0x00000d34 "restrict char**")
0x00000d53: NULL
0x00000d54: DW_TAG_base_type
DW_AT_name ("float")
DW_AT_encoding (DW_ATE_float)
DW_AT_byte_size (0x04)
0x00000d5b: DW_TAG_subprogram
DW_AT_name ("strtold")
DW_AT_decl_file ("/usr/include/stdlib.h")
DW_AT_decl_line (126)
DW_AT_type (0x00000d71 "long double")
DW_AT_declaration (true)
DW_AT_external (true)
0x00000d66: DW_TAG_formal_parameter
DW_AT_type (0x00000885 "restrict const char*")
0x00000d6b: DW_TAG_formal_parameter
DW_AT_type (0x00000d34 "restrict char**")
0x00000d70: NULL
0x00000d71: DW_TAG_base_type
DW_AT_name ("long double")
DW_AT_encoding (DW_ATE_float)
DW_AT_byte_size (0x10)
0x00000d78: DW_TAG_subprogram
DW_AT_name ("strtol")
DW_AT_decl_file ("/usr/include/stdlib.h")
DW_AT_decl_line (176)
DW_AT_type (0x00000acf "long int")
DW_AT_declaration (true)
DW_AT_external (true)
0x00000d83: DW_TAG_formal_parameter
DW_AT_type (0x00000885 "restrict const char*")
0x00000d88: DW_TAG_formal_parameter
DW_AT_type (0x00000d34 "restrict char**")
0x00000d8d: DW_TAG_formal_parameter
DW_AT_type (0x00000806 "int")
0x00000d92: NULL
0x00000d93: DW_TAG_subprogram
DW_AT_name ("strtoll")
DW_AT_decl_file ("/usr/include/stdlib.h")
DW_AT_decl_line (200)
DW_AT_type (0x00000ccc "long long int")
DW_AT_declaration (true)
DW_AT_external (true)
0x00000d9e: DW_TAG_formal_parameter
DW_AT_type (0x00000885 "restrict const char*")
0x00000da3: DW_TAG_formal_parameter
DW_AT_type (0x00000d34 "restrict char**")
0x00000da8: DW_TAG_formal_parameter
DW_AT_type (0x00000806 "int")
0x00000dad: NULL
0x00000dae: DW_TAG_subprogram
DW_AT_name ("strtoul")
DW_AT_decl_file ("/usr/include/stdlib.h")
DW_AT_decl_line (180)
DW_AT_type (0x000007ee "long unsigned int")
DW_AT_declaration (true)
DW_AT_external (true)
0x00000db9: DW_TAG_formal_parameter
DW_AT_type (0x00000885 "restrict const char*")
0x00000dbe: DW_TAG_formal_parameter
DW_AT_type (0x00000d34 "restrict char**")
0x00000dc3: DW_TAG_formal_parameter
DW_AT_type (0x00000806 "int")
0x00000dc8: NULL
0x00000dc9: DW_TAG_subprogram
DW_AT_name ("strtoull")
DW_AT_decl_file ("/usr/include/stdlib.h")
DW_AT_decl_line (205)
DW_AT_type (0x00000de4 "long long unsigned int")
DW_AT_declaration (true)
DW_AT_external (true)
0x00000dd4: DW_TAG_formal_parameter
DW_AT_type (0x00000885 "restrict const char*")
0x00000dd9: DW_TAG_formal_parameter
DW_AT_type (0x00000d34 "restrict char**")
0x00000dde: DW_TAG_formal_parameter
DW_AT_type (0x00000806 "int")
0x00000de3: NULL
0x00000de4: DW_TAG_base_type
DW_AT_name ("long long unsigned int")
DW_AT_encoding (DW_ATE_unsigned)
DW_AT_byte_size (0x08)
0x00000deb: DW_TAG_subprogram
DW_AT_name ("rand")
DW_AT_decl_file ("/usr/include/stdlib.h")
DW_AT_decl_line (453)
DW_AT_type (0x00000806 "int")
DW_AT_declaration (true)
DW_AT_external (true)
0x00000df7: DW_TAG_subprogram
DW_AT_name ("srand")
DW_AT_decl_file ("/usr/include/stdlib.h")
DW_AT_decl_line (455)
DW_AT_declaration (true)
DW_AT_external (true)
0x00000dff: DW_TAG_formal_parameter
DW_AT_type (0x00000e05 "unsigned int")
0x00000e04: NULL
0x00000e05: DW_TAG_base_type
DW_AT_name ("unsigned int")
DW_AT_encoding (DW_ATE_unsigned)
DW_AT_byte_size (0x04)
0x00000e0c: DW_TAG_subprogram
DW_AT_name ("calloc")
DW_AT_decl_file ("/usr/include/stdlib.h")
DW_AT_decl_line (542)
DW_AT_type (0x0000076a "*")
DW_AT_declaration (true)
DW_AT_external (true)
0x00000e18: DW_TAG_formal_parameter
DW_AT_type (0x000007e3 "size_t")
0x00000e1d: DW_TAG_formal_parameter
DW_AT_type (0x000007e3 "size_t")
0x00000e22: NULL
0x00000e23: DW_TAG_subprogram
DW_AT_name ("free")
DW_AT_decl_file ("/usr/include/stdlib.h")
DW_AT_decl_line (565)
DW_AT_declaration (true)
DW_AT_external (true)
0x00000e2b: DW_TAG_formal_parameter
DW_AT_type (0x0000076a "*")
0x00000e30: NULL
0x00000e31: DW_TAG_subprogram
DW_AT_name ("malloc")
DW_AT_decl_file ("/usr/include/stdlib.h")
DW_AT_decl_line (539)
DW_AT_type (0x0000076a "*")
DW_AT_declaration (true)
DW_AT_external (true)
0x00000e3d: DW_TAG_formal_parameter
DW_AT_type (0x000007e3 "size_t")
0x00000e42: NULL
0x00000e43: DW_TAG_subprogram
DW_AT_name ("realloc")
DW_AT_decl_file ("/usr/include/stdlib.h")
DW_AT_decl_line (550)
DW_AT_type (0x0000076a "*")
DW_AT_declaration (true)
DW_AT_external (true)
0x00000e4f: DW_TAG_formal_parameter
DW_AT_type (0x0000076a "*")
0x00000e54: DW_TAG_formal_parameter
DW_AT_type (0x000007e3 "size_t")
0x00000e59: NULL
0x00000e5a: DW_TAG_subprogram
DW_AT_name ("abort")
DW_AT_decl_file ("/usr/include/stdlib.h")
DW_AT_decl_line (591)
DW_AT_declaration (true)
DW_AT_external (true)
DW_AT_noreturn (true)
0x00000e62: DW_TAG_subprogram
DW_AT_name ("atexit")
DW_AT_decl_file ("/usr/include/stdlib.h")
DW_AT_decl_line (595)
DW_AT_type (0x00000806 "int")
DW_AT_declaration (true)
DW_AT_external (true)
0x00000e6e: DW_TAG_formal_parameter
DW_AT_type (0x00000e74 "void()*")
0x00000e73: NULL
0x00000e74: DW_TAG_pointer_type
DW_AT_type (0x00000e79 "void()")
0x00000e79: DW_TAG_subroutine_type
0x00000e7a: DW_TAG_subprogram
DW_AT_name ("exit")
DW_AT_decl_file ("/usr/include/stdlib.h")
DW_AT_decl_line (617)
DW_AT_declaration (true)
DW_AT_external (true)
DW_AT_noreturn (true)
0x00000e82: DW_TAG_formal_parameter
DW_AT_type (0x00000806 "int")
0x00000e87: NULL
0x00000e88: DW_TAG_subprogram
DW_AT_name ("_Exit")
DW_AT_decl_file ("/usr/include/stdlib.h")
DW_AT_decl_line (629)
DW_AT_declaration (true)
DW_AT_external (true)
DW_AT_noreturn (true)
0x00000e90: DW_TAG_formal_parameter
DW_AT_type (0x00000806 "int")
0x00000e95: NULL
0x00000e96: DW_TAG_subprogram
DW_AT_name ("getenv")
DW_AT_decl_file ("/usr/include/stdlib.h")
DW_AT_decl_line (634)
DW_AT_type (0x00000840 "char*")
DW_AT_declaration (true)
DW_AT_external (true)
0x00000ea2: DW_TAG_formal_parameter
DW_AT_type (0x0000088a "const char*")
0x00000ea7: NULL
0x00000ea8: DW_TAG_subprogram
DW_AT_name ("system")
DW_AT_decl_file ("/usr/include/stdlib.h")
DW_AT_decl_line (784)
DW_AT_type (0x00000806 "int")
DW_AT_declaration (true)
DW_AT_external (true)
0x00000eb4: DW_TAG_formal_parameter
DW_AT_type (0x0000088a "const char*")
0x00000eb9: NULL
0x00000eba: DW_TAG_subprogram
DW_AT_name ("bsearch")
DW_AT_decl_file ("/usr/include/stdlib.h")
DW_AT_decl_line (820)
DW_AT_type (0x0000076a "*")
DW_AT_declaration (true)
DW_AT_external (true)
0x00000ec6: DW_TAG_formal_parameter
DW_AT_type (0x00000a8c "const *")
0x00000ecb: DW_TAG_formal_parameter
DW_AT_type (0x00000a8c "const *")
0x00000ed0: DW_TAG_formal_parameter
DW_AT_type (0x000007e3 "size_t")
0x00000ed5: DW_TAG_formal_parameter
DW_AT_type (0x000007e3 "size_t")
0x00000eda: DW_TAG_formal_parameter
DW_AT_type (0x00000ee0 "__compar_fn_t")
0x00000edf: NULL
0x00000ee0: DW_TAG_typedef
DW_AT_type (0x00000eec "int(const *, const *)*")
DW_AT_name ("__compar_fn_t")
DW_AT_decl_file ("/usr/include/stdlib.h")
DW_AT_decl_line (808)
0x00000eec: DW_TAG_pointer_type
DW_AT_type (0x00000ef1 "int(const *, const *)")
0x00000ef1: DW_TAG_subroutine_type
DW_AT_type (0x00000806 "int")
0x00000ef6: DW_TAG_formal_parameter
DW_AT_type (0x00000a8c "const *")
0x00000efb: DW_TAG_formal_parameter
DW_AT_type (0x00000a8c "const *")
0x00000f00: NULL
0x00000f01: DW_TAG_subprogram
DW_AT_name ("qsort")
DW_AT_decl_file ("/usr/include/stdlib.h")
DW_AT_decl_line (830)
DW_AT_declaration (true)
DW_AT_external (true)
0x00000f09: DW_TAG_formal_parameter
DW_AT_type (0x0000076a "*")
0x00000f0e: DW_TAG_formal_parameter
DW_AT_type (0x000007e3 "size_t")
0x00000f13: DW_TAG_formal_parameter
DW_AT_type (0x000007e3 "size_t")
0x00000f18: DW_TAG_formal_parameter
DW_AT_type (0x00000ee0 "__compar_fn_t")
0x00000f1d: NULL
0x00000f1e: DW_TAG_subprogram
DW_AT_linkage_name ("_Z3abse")
DW_AT_name ("abs")
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/math.h")
DW_AT_decl_line (793)
DW_AT_type (0x00000d71 "long double")
DW_AT_declaration (true)
DW_AT_external (true)
0x00000f2e: DW_TAG_formal_parameter
DW_AT_type (0x00000d71 "long double")
0x00000f33: NULL
0x00000f34: DW_TAG_subprogram
DW_AT_name ("labs")
DW_AT_decl_file ("/usr/include/stdlib.h")
DW_AT_decl_line (841)
DW_AT_type (0x00000acf "long int")
DW_AT_declaration (true)
DW_AT_external (true)
0x00000f40: DW_TAG_formal_parameter
DW_AT_type (0x00000acf "long int")
0x00000f45: NULL
0x00000f46: DW_TAG_subprogram
DW_AT_name ("llabs")
DW_AT_decl_file ("/usr/include/stdlib.h")
DW_AT_decl_line (844)
DW_AT_type (0x00000ccc "long long int")
DW_AT_declaration (true)
DW_AT_external (true)
0x00000f52: DW_TAG_formal_parameter
DW_AT_type (0x00000ccc "long long int")
0x00000f57: NULL
0x00000f58: DW_TAG_subprogram
DW_AT_linkage_name ("_Z3divxx")
DW_AT_name ("div")
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/math.h")
DW_AT_decl_line (812)
DW_AT_type (0x00000ca3 "lldiv_t")
DW_AT_declaration (true)
DW_AT_external (true)
0x00000f68: DW_TAG_formal_parameter
DW_AT_type (0x00000ccc "long long int")
0x00000f6d: DW_TAG_formal_parameter
DW_AT_type (0x00000ccc "long long int")
0x00000f72: NULL
0x00000f73: DW_TAG_subprogram
DW_AT_name ("ldiv")
DW_AT_decl_file ("/usr/include/stdlib.h")
DW_AT_decl_line (854)
DW_AT_type (0x00000c7a "ldiv_t")
DW_AT_declaration (true)
DW_AT_external (true)
0x00000f7f: DW_TAG_formal_parameter
DW_AT_type (0x00000acf "long int")
0x00000f84: DW_TAG_formal_parameter
DW_AT_type (0x00000acf "long int")
0x00000f89: NULL
0x00000f8a: DW_TAG_subprogram
DW_AT_name ("lldiv")
DW_AT_decl_file ("/usr/include/stdlib.h")
DW_AT_decl_line (858)
DW_AT_type (0x00000ca3 "lldiv_t")
DW_AT_declaration (true)
DW_AT_external (true)
0x00000f96: DW_TAG_formal_parameter
DW_AT_type (0x00000ccc "long long int")
0x00000f9b: DW_TAG_formal_parameter
DW_AT_type (0x00000ccc "long long int")
0x00000fa0: NULL
0x00000fa1: DW_TAG_subprogram
DW_AT_name ("mblen")
DW_AT_decl_file ("/usr/include/stdlib.h")
DW_AT_decl_line (922)
DW_AT_type (0x00000806 "int")
DW_AT_declaration (true)
DW_AT_external (true)
0x00000fad: DW_TAG_formal_parameter
DW_AT_type (0x0000088a "const char*")
0x00000fb2: DW_TAG_formal_parameter
DW_AT_type (0x000007e3 "size_t")
0x00000fb7: NULL
0x00000fb8: DW_TAG_subprogram
DW_AT_name ("mbtowc")
DW_AT_decl_file ("/usr/include/stdlib.h")
DW_AT_decl_line (925)
DW_AT_type (0x00000806 "int")
DW_AT_declaration (true)
DW_AT_external (true)
0x00000fc4: DW_TAG_formal_parameter
DW_AT_type (0x00000fd4 "restrict wchar_t*")
0x00000fc9: DW_TAG_formal_parameter
DW_AT_type (0x00000885 "restrict const char*")
0x00000fce: DW_TAG_formal_parameter
DW_AT_type (0x000007e3 "size_t")
0x00000fd3: NULL
0x00000fd4: DW_TAG_restrict_type
DW_AT_type (0x00000fd9 "wchar_t*")
0x00000fd9: DW_TAG_pointer_type
DW_AT_type (0x00000fde "wchar_t")
0x00000fde: DW_TAG_base_type
DW_AT_name ("wchar_t")
DW_AT_encoding (DW_ATE_signed)
DW_AT_byte_size (0x04)
0x00000fe5: DW_TAG_subprogram
DW_AT_name ("wctomb")
DW_AT_decl_file ("/usr/include/stdlib.h")
DW_AT_decl_line (929)
DW_AT_type (0x00000806 "int")
DW_AT_declaration (true)
DW_AT_external (true)
0x00000ff1: DW_TAG_formal_parameter
DW_AT_type (0x00000840 "char*")
0x00000ff6: DW_TAG_formal_parameter
DW_AT_type (0x00000fde "wchar_t")
0x00000ffb: NULL
0x00000ffc: DW_TAG_subprogram
DW_AT_name ("mbstowcs")
DW_AT_decl_file ("/usr/include/stdlib.h")
DW_AT_decl_line (933)
DW_AT_type (0x000007e3 "size_t")
DW_AT_declaration (true)
DW_AT_external (true)
0x00001008: DW_TAG_formal_parameter
DW_AT_type (0x00000fd4 "restrict wchar_t*")
0x0000100d: DW_TAG_formal_parameter
DW_AT_type (0x00000885 "restrict const char*")
0x00001012: DW_TAG_formal_parameter
DW_AT_type (0x000007e3 "size_t")
0x00001017: NULL
0x00001018: DW_TAG_subprogram
DW_AT_name ("wcstombs")
DW_AT_decl_file ("/usr/include/stdlib.h")
DW_AT_decl_line (936)
DW_AT_type (0x000007e3 "size_t")
DW_AT_declaration (true)
DW_AT_external (true)
0x00001024: DW_TAG_formal_parameter
DW_AT_type (0x0000083b "restrict char*")
0x00001029: DW_TAG_formal_parameter
DW_AT_type (0x00001034 "restrict const wchar_t*")
0x0000102e: DW_TAG_formal_parameter
DW_AT_type (0x000007e3 "size_t")
0x00001033: NULL
0x00001034: DW_TAG_restrict_type
DW_AT_type (0x00001039 "const wchar_t*")
0x00001039: DW_TAG_pointer_type
DW_AT_type (0x0000103e "const wchar_t")
0x0000103e: DW_TAG_const_type
DW_AT_type (0x00000fde "wchar_t")
0x00001043: DW_TAG_subprogram
DW_AT_name ("at_quick_exit")
DW_AT_decl_file ("/usr/include/stdlib.h")
DW_AT_decl_line (600)
DW_AT_type (0x00000806 "int")
DW_AT_declaration (true)
DW_AT_external (true)
0x0000104f: DW_TAG_formal_parameter
DW_AT_type (0x00000e74 "void()*")
0x00001054: NULL
0x00001055: DW_TAG_subprogram
DW_AT_name ("quick_exit")
DW_AT_decl_file ("/usr/include/stdlib.h")
DW_AT_decl_line (623)
DW_AT_declaration (true)
DW_AT_external (true)
DW_AT_noreturn (true)
0x0000105d: DW_TAG_formal_parameter
DW_AT_type (0x00000806 "int")
0x00001062: NULL
0x00001063: DW_TAG_subprogram
DW_AT_name ("aligned_alloc")
DW_AT_decl_file ("/usr/include/stdlib.h")
DW_AT_decl_line (586)
DW_AT_type (0x0000076a "*")
DW_AT_declaration (true)
DW_AT_external (true)
0x0000106f: DW_TAG_formal_parameter
DW_AT_type (0x000007e3 "size_t")
0x00001074: DW_TAG_formal_parameter
DW_AT_type (0x000007e3 "size_t")
0x00001079: NULL
0x0000107a: DW_TAG_typedef
DW_AT_type (0x00001085 "__int8_t")
DW_AT_name ("int8_t")
DW_AT_decl_file ("/usr/include/x86_64-linux-gnu/bits/stdint-intn.h")
DW_AT_decl_line (24)
0x00001085: DW_TAG_typedef
DW_AT_type (0x00001090 "signed char")
DW_AT_name ("__int8_t")
DW_AT_decl_file ("/usr/include/x86_64-linux-gnu/bits/types.h")
DW_AT_decl_line (37)
0x00001090: DW_TAG_base_type
DW_AT_name ("signed char")
DW_AT_encoding (DW_ATE_signed_char)
DW_AT_byte_size (0x01)
0x00001097: DW_TAG_typedef
DW_AT_type (0x000010a2 "__int16_t")
DW_AT_name ("int16_t")
DW_AT_decl_file ("/usr/include/x86_64-linux-gnu/bits/stdint-intn.h")
DW_AT_decl_line (25)
0x000010a2: DW_TAG_typedef
DW_AT_type (0x000010ad "short")
DW_AT_name ("__int16_t")
DW_AT_decl_file ("/usr/include/x86_64-linux-gnu/bits/types.h")
DW_AT_decl_line (39)
0x000010ad: DW_TAG_base_type
DW_AT_name ("short")
DW_AT_encoding (DW_ATE_signed)
DW_AT_byte_size (0x02)
0x000010b4: DW_TAG_typedef
DW_AT_type (0x000010bf "__int32_t")
DW_AT_name ("int32_t")
DW_AT_decl_file ("/usr/include/x86_64-linux-gnu/bits/stdint-intn.h")
DW_AT_decl_line (26)
0x000010bf: DW_TAG_typedef
DW_AT_type (0x00000806 "int")
DW_AT_name ("__int32_t")
DW_AT_decl_file ("/usr/include/x86_64-linux-gnu/bits/types.h")
DW_AT_decl_line (41)
0x000010ca: DW_TAG_typedef
DW_AT_type (0x000010d5 "__int64_t")
DW_AT_name ("int64_t")
DW_AT_decl_file ("/usr/include/x86_64-linux-gnu/bits/stdint-intn.h")
DW_AT_decl_line (27)
0x000010d5: DW_TAG_typedef
DW_AT_type (0x00000acf "long int")
DW_AT_name ("__int64_t")
DW_AT_decl_file ("/usr/include/x86_64-linux-gnu/bits/types.h")
DW_AT_decl_line (44)
0x000010e0: DW_TAG_typedef
DW_AT_type (0x000010eb "__uint8_t")
DW_AT_name ("uint8_t")
DW_AT_decl_file ("/usr/include/x86_64-linux-gnu/bits/stdint-uintn.h")
DW_AT_decl_line (24)
0x000010eb: DW_TAG_typedef
DW_AT_type (0x000010f6 "unsigned char")
DW_AT_name ("__uint8_t")
DW_AT_decl_file ("/usr/include/x86_64-linux-gnu/bits/types.h")
DW_AT_decl_line (38)
0x000010f6: DW_TAG_base_type
DW_AT_name ("unsigned char")
DW_AT_encoding (DW_ATE_unsigned_char)
DW_AT_byte_size (0x01)
0x000010fd: DW_TAG_typedef
DW_AT_type (0x00001108 "__uint16_t")
DW_AT_name ("uint16_t")
DW_AT_decl_file ("/usr/include/x86_64-linux-gnu/bits/stdint-uintn.h")
DW_AT_decl_line (25)
0x00001108: DW_TAG_typedef
DW_AT_type (0x00001113 "unsigned short")
DW_AT_name ("__uint16_t")
DW_AT_decl_file ("/usr/include/x86_64-linux-gnu/bits/types.h")
DW_AT_decl_line (40)
0x00001113: DW_TAG_base_type
DW_AT_name ("unsigned short")
DW_AT_encoding (DW_ATE_unsigned)
DW_AT_byte_size (0x02)
0x0000111a: DW_TAG_typedef
DW_AT_type (0x00001125 "__uint32_t")
DW_AT_name ("uint32_t")
DW_AT_decl_file ("/usr/include/x86_64-linux-gnu/bits/stdint-uintn.h")
DW_AT_decl_line (26)
0x00001125: DW_TAG_typedef
DW_AT_type (0x00000e05 "unsigned int")
DW_AT_name ("__uint32_t")
DW_AT_decl_file ("/usr/include/x86_64-linux-gnu/bits/types.h")
DW_AT_decl_line (42)
0x00001130: DW_TAG_typedef
DW_AT_type (0x0000113b "__uint64_t")
DW_AT_name ("uint64_t")
DW_AT_decl_file ("/usr/include/x86_64-linux-gnu/bits/stdint-uintn.h")
DW_AT_decl_line (27)
0x0000113b: DW_TAG_typedef
DW_AT_type (0x000007ee "long unsigned int")
DW_AT_name ("__uint64_t")
DW_AT_decl_file ("/usr/include/x86_64-linux-gnu/bits/types.h")
DW_AT_decl_line (45)
0x00001146: DW_TAG_typedef
DW_AT_type (0x00001151 "__int_least8_t")
DW_AT_name ("int_least8_t")
DW_AT_decl_file ("/usr/include/stdint.h")
DW_AT_decl_line (43)
0x00001151: DW_TAG_typedef
DW_AT_type (0x00001085 "__int8_t")
DW_AT_name ("__int_least8_t")
DW_AT_decl_file ("/usr/include/x86_64-linux-gnu/bits/types.h")
DW_AT_decl_line (52)
0x0000115c: DW_TAG_typedef
DW_AT_type (0x00001167 "__int_least16_t")
DW_AT_name ("int_least16_t")
DW_AT_decl_file ("/usr/include/stdint.h")
DW_AT_decl_line (44)
0x00001167: DW_TAG_typedef
DW_AT_type (0x000010a2 "__int16_t")
DW_AT_name ("__int_least16_t")
DW_AT_decl_file ("/usr/include/x86_64-linux-gnu/bits/types.h")
DW_AT_decl_line (54)
0x00001172: DW_TAG_typedef
DW_AT_type (0x0000117d "__int_least32_t")
DW_AT_name ("int_least32_t")
DW_AT_decl_file ("/usr/include/stdint.h")
DW_AT_decl_line (45)
0x0000117d: DW_TAG_typedef
DW_AT_type (0x000010bf "__int32_t")
DW_AT_name ("__int_least32_t")
DW_AT_decl_file ("/usr/include/x86_64-linux-gnu/bits/types.h")
DW_AT_decl_line (56)
0x00001188: DW_TAG_typedef
DW_AT_type (0x00001193 "__int_least64_t")
DW_AT_name ("int_least64_t")
DW_AT_decl_file ("/usr/include/stdint.h")
DW_AT_decl_line (46)
0x00001193: DW_TAG_typedef
DW_AT_type (0x000010d5 "__int64_t")
DW_AT_name ("__int_least64_t")
DW_AT_decl_file ("/usr/include/x86_64-linux-gnu/bits/types.h")
DW_AT_decl_line (58)
0x0000119e: DW_TAG_typedef
DW_AT_type (0x000011a9 "__uint_least8_t")
DW_AT_name ("uint_least8_t")
DW_AT_decl_file ("/usr/include/stdint.h")
DW_AT_decl_line (49)
0x000011a9: DW_TAG_typedef
DW_AT_type (0x000010eb "__uint8_t")
DW_AT_name ("__uint_least8_t")
DW_AT_decl_file ("/usr/include/x86_64-linux-gnu/bits/types.h")
DW_AT_decl_line (53)
0x000011b4: DW_TAG_typedef
DW_AT_type (0x000011bf "__uint_least16_t")
DW_AT_name ("uint_least16_t")
DW_AT_decl_file ("/usr/include/stdint.h")
DW_AT_decl_line (50)
0x000011bf: DW_TAG_typedef
DW_AT_type (0x00001108 "__uint16_t")
DW_AT_name ("__uint_least16_t")
DW_AT_decl_file ("/usr/include/x86_64-linux-gnu/bits/types.h")
DW_AT_decl_line (55)
0x000011ca: DW_TAG_typedef
DW_AT_type (0x000011d5 "__uint_least32_t")
DW_AT_name ("uint_least32_t")
DW_AT_decl_file ("/usr/include/stdint.h")
DW_AT_decl_line (51)
0x000011d5: DW_TAG_typedef
DW_AT_type (0x00001125 "__uint32_t")
DW_AT_name ("__uint_least32_t")
DW_AT_decl_file ("/usr/include/x86_64-linux-gnu/bits/types.h")
DW_AT_decl_line (57)
0x000011e0: DW_TAG_typedef
DW_AT_type (0x000011eb "__uint_least64_t")
DW_AT_name ("uint_least64_t")
DW_AT_decl_file ("/usr/include/stdint.h")
DW_AT_decl_line (52)
0x000011eb: DW_TAG_typedef
DW_AT_type (0x0000113b "__uint64_t")
DW_AT_name ("__uint_least64_t")
DW_AT_decl_file ("/usr/include/x86_64-linux-gnu/bits/types.h")
DW_AT_decl_line (59)
0x000011f6: DW_TAG_typedef
DW_AT_type (0x00001090 "signed char")
DW_AT_name ("int_fast8_t")
DW_AT_decl_file ("/usr/include/stdint.h")
DW_AT_decl_line (58)
0x00001201: DW_TAG_typedef
DW_AT_type (0x00000acf "long int")
DW_AT_name ("int_fast16_t")
DW_AT_decl_file ("/usr/include/stdint.h")
DW_AT_decl_line (60)
0x0000120c: DW_TAG_typedef
DW_AT_type (0x00000acf "long int")
DW_AT_name ("int_fast32_t")
DW_AT_decl_file ("/usr/include/stdint.h")
DW_AT_decl_line (61)
0x00001217: DW_TAG_typedef
DW_AT_type (0x00000acf "long int")
DW_AT_name ("int_fast64_t")
DW_AT_decl_file ("/usr/include/stdint.h")
DW_AT_decl_line (62)
0x00001222: DW_TAG_typedef
DW_AT_type (0x000010f6 "unsigned char")
DW_AT_name ("uint_fast8_t")
DW_AT_decl_file ("/usr/include/stdint.h")
DW_AT_decl_line (71)
0x0000122d: DW_TAG_typedef
DW_AT_type (0x000007ee "long unsigned int")
DW_AT_name ("uint_fast16_t")
DW_AT_decl_file ("/usr/include/stdint.h")
DW_AT_decl_line (73)
0x00001238: DW_TAG_typedef
DW_AT_type (0x000007ee "long unsigned int")
DW_AT_name ("uint_fast32_t")
DW_AT_decl_file ("/usr/include/stdint.h")
DW_AT_decl_line (74)
0x00001243: DW_TAG_typedef
DW_AT_type (0x000007ee "long unsigned int")
DW_AT_name ("uint_fast64_t")
DW_AT_decl_file ("/usr/include/stdint.h")
DW_AT_decl_line (75)
0x0000124e: DW_TAG_typedef
DW_AT_type (0x00000acf "long int")
DW_AT_name ("intptr_t")
DW_AT_decl_file ("/usr/include/stdint.h")
DW_AT_decl_line (87)
0x00001259: DW_TAG_typedef
DW_AT_type (0x000007ee "long unsigned int")
DW_AT_name ("uintptr_t")
DW_AT_decl_file ("/usr/include/stdint.h")
DW_AT_decl_line (90)
0x00001264: DW_TAG_typedef
DW_AT_type (0x0000126f "__intmax_t")
DW_AT_name ("intmax_t")
DW_AT_decl_file ("/usr/include/stdint.h")
DW_AT_decl_line (101)
0x0000126f: DW_TAG_typedef
DW_AT_type (0x00000acf "long int")
DW_AT_name ("__intmax_t")
DW_AT_decl_file ("/usr/include/x86_64-linux-gnu/bits/types.h")
DW_AT_decl_line (72)
0x0000127a: DW_TAG_typedef
DW_AT_type (0x00001285 "__uintmax_t")
DW_AT_name ("uintmax_t")
DW_AT_decl_file ("/usr/include/stdint.h")
DW_AT_decl_line (102)
0x00001285: DW_TAG_typedef
DW_AT_type (0x000007ee "long unsigned int")
DW_AT_name ("__uintmax_t")
DW_AT_decl_file ("/usr/include/x86_64-linux-gnu/bits/types.h")
DW_AT_decl_line (73)
0x00001290: DW_TAG_subprogram
DW_AT_name ("memcpy")
DW_AT_decl_file ("/usr/include/string.h")
DW_AT_decl_line (42)
DW_AT_type (0x0000076a "*")
DW_AT_declaration (true)
DW_AT_external (true)
0x0000129b: DW_TAG_formal_parameter
DW_AT_type (0x00000a61 "restrict *")
0x000012a0: DW_TAG_formal_parameter
DW_AT_type (0x00000a87 "restrict const *")
0x000012a5: DW_TAG_formal_parameter
DW_AT_type (0x000007e3 "size_t")
0x000012aa: NULL
0x000012ab: DW_TAG_subprogram
DW_AT_name ("memmove")
DW_AT_decl_file ("/usr/include/string.h")
DW_AT_decl_line (46)
DW_AT_type (0x0000076a "*")
DW_AT_declaration (true)
DW_AT_external (true)
0x000012b6: DW_TAG_formal_parameter
DW_AT_type (0x0000076a "*")
0x000012bb: DW_TAG_formal_parameter
DW_AT_type (0x00000a8c "const *")
0x000012c0: DW_TAG_formal_parameter
DW_AT_type (0x000007e3 "size_t")
0x000012c5: NULL
0x000012c6: DW_TAG_subprogram
DW_AT_name ("strcpy")
DW_AT_decl_file ("/usr/include/string.h")
DW_AT_decl_line (121)
DW_AT_type (0x00000840 "char*")
DW_AT_declaration (true)
DW_AT_external (true)
0x000012d1: DW_TAG_formal_parameter
DW_AT_type (0x0000083b "restrict char*")
0x000012d6: DW_TAG_formal_parameter
DW_AT_type (0x00000885 "restrict const char*")
0x000012db: NULL
0x000012dc: DW_TAG_subprogram
DW_AT_name ("strncpy")
DW_AT_decl_file ("/usr/include/string.h")
DW_AT_decl_line (124)
DW_AT_type (0x00000840 "char*")
DW_AT_declaration (true)
DW_AT_external (true)
0x000012e7: DW_TAG_formal_parameter
DW_AT_type (0x0000083b "restrict char*")
0x000012ec: DW_TAG_formal_parameter
DW_AT_type (0x00000885 "restrict const char*")
0x000012f1: DW_TAG_formal_parameter
DW_AT_type (0x000007e3 "size_t")
0x000012f6: NULL
0x000012f7: DW_TAG_subprogram
DW_AT_name ("strcat")
DW_AT_decl_file ("/usr/include/string.h")
DW_AT_decl_line (129)
DW_AT_type (0x00000840 "char*")
DW_AT_declaration (true)
DW_AT_external (true)
0x00001302: DW_TAG_formal_parameter
DW_AT_type (0x0000083b "restrict char*")
0x00001307: DW_TAG_formal_parameter
DW_AT_type (0x00000885 "restrict const char*")
0x0000130c: NULL
0x0000130d: DW_TAG_subprogram
DW_AT_name ("strncat")
DW_AT_decl_file ("/usr/include/string.h")
DW_AT_decl_line (132)
DW_AT_type (0x00000840 "char*")
DW_AT_declaration (true)
DW_AT_external (true)
0x00001318: DW_TAG_formal_parameter
DW_AT_type (0x0000083b "restrict char*")
0x0000131d: DW_TAG_formal_parameter
DW_AT_type (0x00000885 "restrict const char*")
0x00001322: DW_TAG_formal_parameter
DW_AT_type (0x000007e3 "size_t")
0x00001327: NULL
0x00001328: DW_TAG_subprogram
DW_AT_name ("memcmp")
DW_AT_decl_file ("/usr/include/string.h")
DW_AT_decl_line (63)
DW_AT_type (0x00000806 "int")
DW_AT_declaration (true)
DW_AT_external (true)
0x00001333: DW_TAG_formal_parameter
DW_AT_type (0x00000a8c "const *")
0x00001338: DW_TAG_formal_parameter
DW_AT_type (0x00000a8c "const *")
0x0000133d: DW_TAG_formal_parameter
DW_AT_type (0x000007e3 "size_t")
0x00001342: NULL
0x00001343: DW_TAG_subprogram
DW_AT_name ("strcmp")
DW_AT_decl_file ("/usr/include/string.h")
DW_AT_decl_line (136)
DW_AT_type (0x00000806 "int")
DW_AT_declaration (true)
DW_AT_external (true)
0x0000134e: DW_TAG_formal_parameter
DW_AT_type (0x0000088a "const char*")
0x00001353: DW_TAG_formal_parameter
DW_AT_type (0x0000088a "const char*")
0x00001358: NULL
0x00001359: DW_TAG_subprogram
DW_AT_name ("strncmp")
DW_AT_decl_file ("/usr/include/string.h")
DW_AT_decl_line (139)
DW_AT_type (0x00000806 "int")
DW_AT_declaration (true)
DW_AT_external (true)
0x00001364: DW_TAG_formal_parameter
DW_AT_type (0x0000088a "const char*")
0x00001369: DW_TAG_formal_parameter
DW_AT_type (0x0000088a "const char*")
0x0000136e: DW_TAG_formal_parameter
DW_AT_type (0x000007e3 "size_t")
0x00001373: NULL
0x00001374: DW_TAG_subprogram
DW_AT_name ("strcoll")
DW_AT_decl_file ("/usr/include/string.h")
DW_AT_decl_line (143)
DW_AT_type (0x00000806 "int")
DW_AT_declaration (true)
DW_AT_external (true)
0x0000137f: DW_TAG_formal_parameter
DW_AT_type (0x0000088a "const char*")
0x00001384: DW_TAG_formal_parameter
DW_AT_type (0x0000088a "const char*")
0x00001389: NULL
0x0000138a: DW_TAG_subprogram
DW_AT_name ("strxfrm")
DW_AT_decl_file ("/usr/include/string.h")
DW_AT_decl_line (146)
DW_AT_type (0x000007e3 "size_t")
DW_AT_declaration (true)
DW_AT_external (true)
0x00001395: DW_TAG_formal_parameter
DW_AT_type (0x0000083b "restrict char*")
0x0000139a: DW_TAG_formal_parameter
DW_AT_type (0x00000885 "restrict const char*")
0x0000139f: DW_TAG_formal_parameter
DW_AT_type (0x000007e3 "size_t")
0x000013a4: NULL
0x000013a5: DW_TAG_subprogram
DW_AT_linkage_name ("_Z6memchrUa9enable_ifIXLb1EEEPvim")
DW_AT_name ("memchr")
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/string.h")
DW_AT_decl_line (98)
DW_AT_type (0x0000076a "*")
DW_AT_declaration (true)
DW_AT_external (true)
0x000013b4: DW_TAG_formal_parameter
DW_AT_type (0x0000076a "*")
0x000013b9: DW_TAG_formal_parameter
DW_AT_type (0x00000806 "int")
0x000013be: DW_TAG_formal_parameter
DW_AT_type (0x000007e3 "size_t")
0x000013c3: NULL
0x000013c4: DW_TAG_subprogram
DW_AT_linkage_name ("_Z6strchrUa9enable_ifIXLb1EEEPci")
DW_AT_name ("strchr")
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/string.h")
DW_AT_decl_line (77)
DW_AT_type (0x00000840 "char*")
DW_AT_declaration (true)
DW_AT_external (true)
0x000013d3: DW_TAG_formal_parameter
DW_AT_type (0x00000840 "char*")
0x000013d8: DW_TAG_formal_parameter
DW_AT_type (0x00000806 "int")
0x000013dd: NULL
0x000013de: DW_TAG_subprogram
DW_AT_name ("strcspn")
DW_AT_decl_file ("/usr/include/string.h")
DW_AT_decl_line (272)
DW_AT_type (0x000007e3 "size_t")
DW_AT_declaration (true)
DW_AT_external (true)
0x000013ea: DW_TAG_formal_parameter
DW_AT_type (0x0000088a "const char*")
0x000013ef: DW_TAG_formal_parameter
DW_AT_type (0x0000088a "const char*")
0x000013f4: NULL
0x000013f5: DW_TAG_subprogram
DW_AT_linkage_name ("_Z7strpbrkUa9enable_ifIXLb1EEEPcPKc")
DW_AT_name ("strpbrk")
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/string.h")
DW_AT_decl_line (84)
DW_AT_type (0x00000840 "char*")
DW_AT_declaration (true)
DW_AT_external (true)
0x00001404: DW_TAG_formal_parameter
DW_AT_type (0x00000840 "char*")
0x00001409: DW_TAG_formal_parameter
DW_AT_type (0x0000088a "const char*")
0x0000140e: NULL
0x0000140f: DW_TAG_subprogram
DW_AT_linkage_name ("_Z7strrchrUa9enable_ifIXLb1EEEPci")
DW_AT_name ("strrchr")
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/string.h")
DW_AT_decl_line (91)
DW_AT_type (0x00000840 "char*")
DW_AT_declaration (true)
DW_AT_external (true)
0x0000141e: DW_TAG_formal_parameter
DW_AT_type (0x00000840 "char*")
0x00001423: DW_TAG_formal_parameter
DW_AT_type (0x00000806 "int")
0x00001428: NULL
0x00001429: DW_TAG_subprogram
DW_AT_name ("strspn")
DW_AT_decl_file ("/usr/include/string.h")
DW_AT_decl_line (276)
DW_AT_type (0x000007e3 "size_t")
DW_AT_declaration (true)
DW_AT_external (true)
0x00001435: DW_TAG_formal_parameter
DW_AT_type (0x0000088a "const char*")
0x0000143a: DW_TAG_formal_parameter
DW_AT_type (0x0000088a "const char*")
0x0000143f: NULL
0x00001440: DW_TAG_subprogram
DW_AT_linkage_name ("_Z6strstrUa9enable_ifIXLb1EEEPcPKc")
DW_AT_name ("strstr")
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/string.h")
DW_AT_decl_line (105)
DW_AT_type (0x00000840 "char*")
DW_AT_declaration (true)
DW_AT_external (true)
0x0000144f: DW_TAG_formal_parameter
DW_AT_type (0x00000840 "char*")
0x00001454: DW_TAG_formal_parameter
DW_AT_type (0x0000088a "const char*")
0x00001459: NULL
0x0000145a: DW_TAG_subprogram
DW_AT_name ("strtok")
DW_AT_decl_file ("/usr/include/string.h")
DW_AT_decl_line (335)
DW_AT_type (0x00000840 "char*")
DW_AT_declaration (true)
DW_AT_external (true)
0x00001466: DW_TAG_formal_parameter
DW_AT_type (0x0000083b "restrict char*")
0x0000146b: DW_TAG_formal_parameter
DW_AT_type (0x00000885 "restrict const char*")
0x00001470: NULL
0x00001471: DW_TAG_subprogram
DW_AT_name ("memset")
DW_AT_decl_file ("/usr/include/string.h")
DW_AT_decl_line (60)
DW_AT_type (0x0000076a "*")
DW_AT_declaration (true)
DW_AT_external (true)
0x0000147c: DW_TAG_formal_parameter
DW_AT_type (0x0000076a "*")
0x00001481: DW_TAG_formal_parameter
DW_AT_type (0x00000806 "int")
0x00001486: DW_TAG_formal_parameter
DW_AT_type (0x000007e3 "size_t")
0x0000148b: NULL
0x0000148c: DW_TAG_subprogram
DW_AT_name ("strerror")
DW_AT_decl_file ("/usr/include/string.h")
DW_AT_decl_line (396)
DW_AT_type (0x00000840 "char*")
DW_AT_declaration (true)
DW_AT_external (true)
0x00001498: DW_TAG_formal_parameter
DW_AT_type (0x00000806 "int")
0x0000149d: NULL
0x0000149e: DW_TAG_subprogram
DW_AT_name ("strlen")
DW_AT_decl_file ("/usr/include/string.h")
DW_AT_decl_line (384)
DW_AT_type (0x000007e3 "size_t")
DW_AT_declaration (true)
DW_AT_external (true)
0x000014aa: DW_TAG_formal_parameter
DW_AT_type (0x0000088a "const char*")
0x000014af: NULL
0x000014b0: DW_TAG_imported_module
DW_AT_decl_file ("/home/modocache/Source/tmp/coro02242020/repro.cpp")
DW_AT_decl_line (4)
DW_AT_import (0x000000c2)
0x000014b7: DW_TAG_subprogram
DW_AT_low_pc (0x0000000000201b10)
DW_AT_high_pc (0x000000000020200a)
DW_AT_frame_base (DW_OP_reg6 RBP)
DW_AT_linkage_name ("_Z3foov")
DW_AT_name ("foo")
DW_AT_decl_file ("/home/modocache/Source/tmp/coro02242020/repro.cpp")
DW_AT_decl_line (23)
DW_AT_type (0x0000002a "coro")
DW_AT_external (true)
0x000014d4: DW_TAG_variable
DW_AT_location (DW_OP_fbreg -8)
DW_AT_name ("__coro_gro")
DW_AT_decl_file ("/home/modocache/Source/tmp/coro02242020/repro.cpp")
DW_AT_decl_line (23)
DW_AT_type (0x0000002a "coro")
0x000014e2: DW_TAG_variable
DW_AT_location (DW_OP_fbreg -16)
DW_AT_name ("__promise")
DW_AT_decl_file ("/home/modocache/Source/tmp/coro02242020/repro.cpp")
DW_AT_decl_line (23)
DW_AT_type (0x0000031c "promise_type")
0x000014f0: DW_TAG_lexical_block
DW_AT_low_pc (0x0000000000201ccf)
DW_AT_high_pc (0x0000000000201ee2)
0x000014fd: DW_TAG_variable
DW_AT_location (0x00000000:
[0x0000000000201cc8, 0x0000000000201cd9): DW_OP_consts +0, DW_OP_stack_value
[0x0000000000201cd9, 0x0000000000201ce2): DW_OP_reg1 RDX
[0x0000000000201ce2, 0x0000000000201cf3): DW_OP_reg4 RSI
[0x0000000000201dcc, 0x0000000000201dd5): DW_OP_reg1 RDX
[0x0000000000201dde, 0x0000000000201df2): DW_OP_reg4 RSI
[0x0000000000201eaf, 0x0000000000201eb8): DW_OP_reg2 RCX
[0x0000000000201ec4, 0x0000000000201ed5): DW_OP_reg1 RDX)
DW_AT_name ("i")
DW_AT_decl_file ("/home/modocache/Source/tmp/coro02242020/repro.cpp")
DW_AT_decl_line (24)
DW_AT_type (0x00000806 "int")
0x0000150c: DW_TAG_variable
DW_AT_location (0x000000a7:
[0x0000000000201dbb, 0x0000000000201dd5): DW_OP_consts +0, DW_OP_stack_value
[0x0000000000201dd5, 0x0000000000201df2): DW_OP_reg1 RDX
[0x0000000000201eb8, 0x0000000000201ec1): DW_OP_reg2 RCX
[0x0000000000201ec1, 0x0000000000201ed5): DW_OP_reg4 RSI)
DW_AT_name ("j")
DW_AT_decl_file ("/home/modocache/Source/tmp/coro02242020/repro.cpp")
DW_AT_decl_line (32)
DW_AT_type (0x00000806 "int")
0x0000151b: NULL
0x0000151c: NULL
0x0000151d: DW_TAG_subprogram
DW_AT_low_pc (0x0000000000202ae0)
DW_AT_high_pc (0x0000000000202b18)
DW_AT_frame_base (DW_OP_reg6 RBP)
DW_AT_object_pointer (0x00001534)
DW_AT_specification (0x00000048 "_ZN4coro12promise_type17get_return_objectEv")
0x00001534: DW_TAG_formal_parameter
DW_AT_location (DW_OP_fbreg -16)
DW_AT_name ("this")
DW_AT_type (0x000018c5 "promise_type*")
DW_AT_artificial (true)
0x00001540: DW_TAG_variable
DW_AT_location (DW_OP_fbreg -24)
DW_AT_name ("handle")
DW_AT_decl_file ("/home/modocache/Source/tmp/coro02242020/repro.cpp")
DW_AT_decl_line (9)
DW_AT_type (0x000000cc "coroutine_handle<coro::promise_type>")
0x0000154e: NULL
0x0000154f: DW_TAG_subprogram
DW_AT_low_pc (0x0000000000202b20)
DW_AT_high_pc (0x0000000000202b2a)
DW_AT_frame_base (DW_OP_reg6 RBP)
DW_AT_object_pointer (0x00001566)
DW_AT_specification (0x0000005d "_ZN4coro12promise_type15initial_suspendEv")
0x00001566: DW_TAG_formal_parameter
DW_AT_location (DW_OP_fbreg -8)
DW_AT_name ("this")
DW_AT_type (0x000018c5 "promise_type*")
DW_AT_artificial (true)
0x00001572: NULL
0x00001573: DW_TAG_subprogram
DW_AT_low_pc (0x0000000000202b30)
DW_AT_high_pc (0x0000000000202b41)
DW_AT_frame_base (DW_OP_reg6 RBP)
DW_AT_object_pointer (0x0000158a)
DW_AT_specification (0x0000027f "_ZNKSt12experimental13coroutines_v113suspend_never11await_readyEv")
0x0000158a: DW_TAG_formal_parameter
DW_AT_location (DW_OP_fbreg -8)
DW_AT_name ("this")
DW_AT_type (0x000018ca "const suspend_never*")
DW_AT_artificial (true)
0x00001596: NULL
0x00001597: DW_TAG_subprogram
DW_AT_low_pc (0x0000000000202b50)
DW_AT_high_pc (0x0000000000202b5e)
DW_AT_frame_base (DW_OP_reg6 RBP)
DW_AT_object_pointer (0x000015ae)
DW_AT_specification (0x00000295 "_ZNKSt12experimental13coroutines_v113suspend_never13await_suspendENS0_16coroutine_handleIvEE")
0x000015ae: DW_TAG_formal_parameter
DW_AT_location (DW_OP_fbreg -16)
DW_AT_name ("this")
DW_AT_type (0x000018ca "const suspend_never*")
DW_AT_artificial (true)
0x000015ba: DW_TAG_formal_parameter
DW_AT_location (DW_OP_fbreg -8)
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/experimental/coroutine")
DW_AT_decl_line (304)
DW_AT_type (0x00000165 "coroutine_handle<void>")
0x000015c5: NULL
0x000015c6: DW_TAG_subprogram
DW_AT_low_pc (0x0000000000202b60)
DW_AT_high_pc (0x0000000000202b87)
DW_AT_frame_base (DW_OP_reg6 RBP)
DW_AT_specification (0x0000010d "_ZNSt12experimental13coroutines_v116coroutine_handleIN4coro12promise_typeEE12from_addressEPv")
0x000015d9: DW_TAG_formal_parameter
DW_AT_location (DW_OP_fbreg -16)
DW_AT_name ("__addr")
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/experimental/coroutine")
DW_AT_decl_line (220)
DW_AT_type (0x0000076a "*")
0x000015e7: DW_TAG_variable
DW_AT_location (DW_OP_fbreg -8)
DW_AT_name ("__tmp")
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/experimental/coroutine")
DW_AT_decl_line (221)
DW_AT_type (0x000000cc "coroutine_handle<coro::promise_type>")
0x000015f5: NULL
0x000015f6: DW_TAG_subprogram
DW_AT_low_pc (0x0000000000202b90)
DW_AT_high_pc (0x0000000000202b9a)
DW_AT_frame_base (DW_OP_reg6 RBP)
DW_AT_object_pointer (0x0000160d)
DW_AT_specification (0x000002ac "_ZNKSt12experimental13coroutines_v113suspend_never12await_resumeEv")
0x0000160d: DW_TAG_formal_parameter
DW_AT_location (DW_OP_fbreg -8)
DW_AT_name ("this")
DW_AT_type (0x000018ca "const suspend_never*")
DW_AT_artificial (true)
0x00001619: NULL
0x0000161a: DW_TAG_pointer_type
DW_AT_type (0x0000161f "const suspend_always")
0x0000161f: DW_TAG_const_type
DW_AT_type (0x000002bf "suspend_always")
0x00001624: DW_TAG_subprogram
DW_AT_low_pc (0x0000000000202ba0)
DW_AT_high_pc (0x0000000000202bb1)
DW_AT_frame_base (DW_OP_reg6 RBP)
DW_AT_object_pointer (0x0000163b)
DW_AT_specification (0x000002c9 "_ZNKSt12experimental13coroutines_v114suspend_always11await_readyEv")
0x0000163b: DW_TAG_formal_parameter
DW_AT_location (DW_OP_fbreg -8)
DW_AT_name ("this")
DW_AT_type (0x000018cf "const suspend_always*")
DW_AT_artificial (true)
0x00001647: NULL
0x00001648: DW_TAG_subprogram
DW_AT_low_pc (0x0000000000202bc0)
DW_AT_high_pc (0x0000000000202bce)
DW_AT_frame_base (DW_OP_reg6 RBP)
DW_AT_object_pointer (0x0000165f)
DW_AT_specification (0x000002df "_ZNKSt12experimental13coroutines_v114suspend_always13await_suspendENS0_16coroutine_handleIvEE")
0x0000165f: DW_TAG_formal_parameter
DW_AT_location (DW_OP_fbreg -16)
DW_AT_name ("this")
DW_AT_type (0x000018cf "const suspend_always*")
DW_AT_artificial (true)
0x0000166b: DW_TAG_formal_parameter
DW_AT_location (DW_OP_fbreg -8)
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/experimental/coroutine")
DW_AT_decl_line (313)
DW_AT_type (0x00000165 "coroutine_handle<void>")
0x00001676: NULL
0x00001677: DW_TAG_subprogram
DW_AT_low_pc (0x0000000000202bd0)
DW_AT_high_pc (0x0000000000202bda)
DW_AT_frame_base (DW_OP_reg6 RBP)
DW_AT_object_pointer (0x0000168e)
DW_AT_specification (0x000002f6 "_ZNKSt12experimental13coroutines_v114suspend_always12await_resumeEv")
0x0000168e: DW_TAG_formal_parameter
DW_AT_location (DW_OP_fbreg -8)
DW_AT_name ("this")
DW_AT_type (0x000018cf "const suspend_always*")
DW_AT_artificial (true)
0x0000169a: NULL
0x0000169b: DW_TAG_subprogram
DW_AT_low_pc (0x0000000000202be0)
DW_AT_high_pc (0x0000000000202bea)
DW_AT_frame_base (DW_OP_reg6 RBP)
DW_AT_object_pointer (0x000016b2)
DW_AT_specification (0x00000087 "_ZN4coro12promise_type11return_voidEv")
0x000016b2: DW_TAG_formal_parameter
DW_AT_location (DW_OP_fbreg -8)
DW_AT_name ("this")
DW_AT_type (0x000018c5 "promise_type*")
DW_AT_artificial (true)
0x000016be: NULL
0x000016bf: DW_TAG_subprogram
DW_AT_low_pc (0x0000000000202bf0)
DW_AT_high_pc (0x0000000000202bfa)
DW_AT_frame_base (DW_OP_reg6 RBP)
DW_AT_object_pointer (0x000016d6)
DW_AT_specification (0x00000072 "_ZN4coro12promise_type13final_suspendEv")
0x000016d6: DW_TAG_formal_parameter
DW_AT_location (DW_OP_fbreg -8)
DW_AT_name ("this")
DW_AT_type (0x000018c5 "promise_type*")
DW_AT_artificial (true)
0x000016e2: NULL
0x000016e3: DW_TAG_subprogram
DW_AT_low_pc (0x0000000000202010)
DW_AT_high_pc (0x0000000000202041)
DW_AT_frame_base (DW_OP_reg6 RBP)
DW_AT_name ("main")
DW_AT_decl_file ("/home/modocache/Source/tmp/coro02242020/repro.cpp")
DW_AT_decl_line (53)
DW_AT_type (0x00000806 "int")
DW_AT_external (true)
0x000016fc: DW_TAG_variable
DW_AT_location (DW_OP_fbreg -8)
DW_AT_name ("c")
DW_AT_decl_file ("/home/modocache/Source/tmp/coro02242020/repro.cpp")
DW_AT_decl_line (54)
DW_AT_type (0x0000002a "coro")
0x0000170a: NULL
0x0000170b: DW_TAG_subprogram
DW_AT_low_pc (0x0000000000202c00)
DW_AT_high_pc (0x0000000000202c1e)
DW_AT_frame_base (DW_OP_reg6 RBP)
DW_AT_object_pointer (0x00001722)
DW_AT_specification (0x000001f4 "_ZNSt12experimental13coroutines_v116coroutine_handleIvE6resumeEv")
0x00001722: DW_TAG_formal_parameter
DW_AT_location (DW_OP_fbreg -8)
DW_AT_name ("this")
DW_AT_type (0x000018d4 "coroutine_handle<void>*")
DW_AT_artificial (true)
0x0000172e: NULL
0x0000172f: DW_TAG_subprogram
DW_AT_low_pc (0x0000000000202c20)
DW_AT_high_pc (0x0000000000202c52)
DW_AT_frame_base (DW_OP_reg6 RBP)
DW_AT_specification (0x00000139 "_ZNSt12experimental13coroutines_v116coroutine_handleIN4coro12promise_typeEE12from_promiseERS3_")
0x00001742: DW_TAG_formal_parameter
DW_AT_location (DW_OP_fbreg -16)
DW_AT_name ("__promise")
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/experimental/coroutine")
DW_AT_decl_line (250)
DW_AT_type (0x00000795 "promise_type&")
0x00001750: DW_TAG_variable
DW_AT_location (DW_OP_fbreg -8)
DW_AT_name ("__tmp")
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/experimental/coroutine")
DW_AT_decl_line (252)
DW_AT_type (0x000000cc "coroutine_handle<coro::promise_type>")
0x0000175e: NULL
0x0000175f: DW_TAG_subprogram
DW_AT_low_pc (0x0000000000202c60)
DW_AT_high_pc (0x0000000000202c79)
DW_AT_frame_base (DW_OP_reg6 RBP)
DW_AT_object_pointer (0x0000177a)
DW_AT_linkage_name ("_ZN4coroC2ENSt12experimental13coroutines_v116coroutine_handleINS_12promise_typeEEE")
DW_AT_specification (0x000000aa "coro")
0x0000177a: DW_TAG_formal_parameter
DW_AT_location (DW_OP_fbreg -16)
DW_AT_name ("this")
DW_AT_type (0x000018d9 "coro*")
DW_AT_artificial (true)
0x00001786: DW_TAG_formal_parameter
DW_AT_location (DW_OP_fbreg -8)
DW_AT_name ("handle")
DW_AT_decl_file ("/home/modocache/Source/tmp/coro02242020/repro.cpp")
DW_AT_decl_line (19)
DW_AT_type (0x000000cc "coroutine_handle<coro::promise_type>")
0x00001794: NULL
0x00001795: DW_TAG_subprogram
DW_AT_low_pc (0x0000000000202c80)
DW_AT_high_pc (0x0000000000202c9e)
DW_AT_frame_base (DW_OP_reg6 RBP)
DW_AT_object_pointer (0x000017b2)
DW_AT_decl_file ("/home/modocache/Source/llvm/git/dev/llvm-project/build/bin/../include/c++/v1/experimental/coroutine")
DW_AT_decl_line (196)
DW_AT_linkage_name ("_ZNSt12experimental13coroutines_v116coroutine_handleIN4coro12promise_typeEEC2Ev")
DW_AT_specification (0x00000158 "coroutine_handle")
0x000017b2: DW_TAG_formal_parameter
DW_AT_location (DW_OP_fbreg -8)
DW_AT_name ("this")
DW_AT_type (0x000018de "coroutine_handle<coro::promise_type>*")
DW_AT_artificial (true)
0x000017be: NULL
0x000017bf: DW_TAG_subprogram
DW_AT_low_pc (0x0000000000202cb0)
DW_AT_high_pc (0x0000000000202cc5)
DW_AT_frame_base (DW_OP_reg6 RBP)
DW_AT_object_pointer (0x000017da)
DW_AT_linkage_name ("_ZNSt12experimental13coroutines_v116coroutine_handleIvEC2Ev")
DW_AT_specification (0x0000017a "coroutine_handle")
0x000017da: DW_TAG_formal_parameter
DW_AT_location (DW_OP_fbreg -8)
DW_AT_name ("this")
DW_AT_type (0x000018d4 "coroutine_handle<void>*")
DW_AT_artificial (true)
0x000017e6: NULL
0x000017e7: DW_TAG_subprogram
DW_AT_low_pc (0x0000000000202060)
DW_AT_high_pc (0x00000000002023c1)
DW_AT_frame_base (DW_OP_reg6 RBP)
DW_AT_linkage_name ("_Z3foov")
DW_AT_name ("foo")
DW_AT_decl_file ("/home/modocache/Source/tmp/coro02242020/repro.cpp")
DW_AT_decl_line (23)
DW_AT_type (0x0000002a "coro")
DW_AT_external (true)
0x00001804: DW_TAG_lexical_block
DW_AT_low_pc (0x00000000002020db)
DW_AT_high_pc (0x00000000002022b0)
0x00001811: DW_TAG_variable
DW_AT_location (0x00000115:
[0x00000000002020d7, 0x00000000002020e5): DW_OP_consts +0, DW_OP_stack_value
[0x00000000002020e5, 0x00000000002020ee): DW_OP_reg1 RDX
[0x00000000002020ee, 0x00000000002020ff): DW_OP_reg4 RSI
[0x00000000002021b9, 0x00000000002021c2): DW_OP_reg1 RDX
[0x00000000002021cb, 0x00000000002021df): DW_OP_reg4 RSI
[0x0000000000202283, 0x000000000020228c): DW_OP_reg2 RCX
[0x0000000000202298, 0x00000000002022a9): DW_OP_reg1 RDX)
DW_AT_name ("i")
DW_AT_decl_file ("/home/modocache/Source/tmp/coro02242020/repro.cpp")
DW_AT_decl_line (24)
DW_AT_type (0x00000806 "int")
0x00001820: DW_TAG_variable
DW_AT_location (0x000001bc:
[0x00000000002021ab, 0x00000000002021c2): DW_OP_consts +0, DW_OP_stack_value
[0x00000000002021c2, 0x00000000002021df): DW_OP_reg1 RDX
[0x000000000020228c, 0x0000000000202295): DW_OP_reg2 RCX
[0x0000000000202295, 0x00000000002022a9): DW_OP_reg4 RSI)
DW_AT_name ("j")
DW_AT_decl_file ("/home/modocache/Source/tmp/coro02242020/repro.cpp")
DW_AT_decl_line (32)
DW_AT_type (0x00000806 "int")
0x0000182f: NULL
0x00001830: NULL
0x00001831: DW_TAG_subprogram
DW_AT_low_pc (0x00000000002023d0)
DW_AT_high_pc (0x0000000000202758)
DW_AT_frame_base (DW_OP_reg6 RBP)
DW_AT_linkage_name ("_Z3foov")
DW_AT_name ("foo")
DW_AT_decl_file ("/home/modocache/Source/tmp/coro02242020/repro.cpp")
DW_AT_decl_line (23)
DW_AT_type (0x0000002a "coro")
DW_AT_external (true)
0x0000184e: DW_TAG_lexical_block
DW_AT_low_pc (0x000000000020244b)
DW_AT_high_pc (0x0000000000202620)
0x0000185b: DW_TAG_variable
DW_AT_location (0x0000022a:
[0x0000000000202447, 0x0000000000202455): DW_OP_consts +0, DW_OP_stack_value
[0x0000000000202455, 0x000000000020245e): DW_OP_reg1 RDX
[0x000000000020245e, 0x000000000020246f): DW_OP_reg4 RSI
[0x0000000000202529, 0x0000000000202532): DW_OP_reg1 RDX
[0x000000000020253b, 0x000000000020254f): DW_OP_reg4 RSI
[0x00000000002025f3, 0x00000000002025fc): DW_OP_reg2 RCX
[0x0000000000202608, 0x0000000000202619): DW_OP_reg1 RDX)
DW_AT_name ("i")
DW_AT_decl_file ("/home/modocache/Source/tmp/coro02242020/repro.cpp")
DW_AT_decl_line (24)
DW_AT_type (0x00000806 "int")
0x0000186a: DW_TAG_variable
DW_AT_location (0x000002d1:
[0x000000000020251b, 0x0000000000202532): DW_OP_consts +0, DW_OP_stack_value
[0x0000000000202532, 0x000000000020254f): DW_OP_reg1 RDX
[0x00000000002025fc, 0x0000000000202605): DW_OP_reg2 RCX
[0x0000000000202605, 0x0000000000202619): DW_OP_reg4 RSI)
DW_AT_name ("j")
DW_AT_decl_file ("/home/modocache/Source/tmp/coro02242020/repro.cpp")
DW_AT_decl_line (32)
DW_AT_type (0x00000806 "int")
0x00001879: NULL
0x0000187a: NULL
0x0000187b: DW_TAG_subprogram
DW_AT_low_pc (0x0000000000202760)
DW_AT_high_pc (0x0000000000202ae0)
DW_AT_frame_base (DW_OP_reg6 RBP)
DW_AT_linkage_name ("_Z3foov")
DW_AT_name ("foo")
DW_AT_decl_file ("/home/modocache/Source/tmp/coro02242020/repro.cpp")
DW_AT_decl_line (23)
DW_AT_type (0x0000002a "coro")
DW_AT_external (true)
0x00001898: DW_TAG_lexical_block
DW_AT_low_pc (0x00000000002027db)
DW_AT_high_pc (0x00000000002029b0)
0x000018a5: DW_TAG_variable
DW_AT_location (0x0000033f:
[0x00000000002027d7, 0x00000000002027e5): DW_OP_consts +0, DW_OP_stack_value
[0x00000000002027e5, 0x00000000002027ee): DW_OP_reg1 RDX
[0x00000000002027ee, 0x00000000002027ff): DW_OP_reg4 RSI
[0x00000000002028b9, 0x00000000002028c2): DW_OP_reg1 RDX
[0x00000000002028cb, 0x00000000002028df): DW_OP_reg4 RSI
[0x0000000000202983, 0x000000000020298c): DW_OP_reg2 RCX
[0x0000000000202998, 0x00000000002029a9): DW_OP_reg1 RDX)
DW_AT_name ("i")
DW_AT_decl_file ("/home/modocache/Source/tmp/coro02242020/repro.cpp")
DW_AT_decl_line (24)
DW_AT_type (0x00000806 "int")
0x000018b4: DW_TAG_variable
DW_AT_location (0x000003e6:
[0x00000000002028ab, 0x00000000002028c2): DW_OP_consts +0, DW_OP_stack_value
[0x00000000002028c2, 0x00000000002028df): DW_OP_reg1 RDX
[0x000000000020298c, 0x0000000000202995): DW_OP_reg2 RCX
[0x0000000000202995, 0x00000000002029a9): DW_OP_reg4 RSI)
DW_AT_name ("j")
DW_AT_decl_file ("/home/modocache/Source/tmp/coro02242020/repro.cpp")
DW_AT_decl_line (32)
DW_AT_type (0x00000806 "int")
0x000018c3: NULL
0x000018c4: NULL
0x000018c5: DW_TAG_pointer_type
DW_AT_type (0x0000003f "promise_type")
0x000018ca: DW_TAG_pointer_type
DW_AT_type (0x000007a4 "const suspend_never")
0x000018cf: DW_TAG_pointer_type
DW_AT_type (0x0000161f "const suspend_always")
0x000018d4: DW_TAG_pointer_type
DW_AT_type (0x00000165 "coroutine_handle<void>")
0x000018d9: DW_TAG_pointer_type
DW_AT_type (0x0000002a "coro")
0x000018de: DW_TAG_pointer_type
DW_AT_type (0x000000cc "coroutine_handle<coro::promise_type>")
0x000018e3: NULL
This file has been truncated, but you can view the full file.
; ModuleID = '/home/modocache/Source/tmp/coro02242020/repro.cpp'
source_filename = "/home/modocache/Source/tmp/coro02242020/repro.cpp"
target datalayout = "e-m:e-p270:32:32-p271:32:32-p272:64:64-i64:64-f80:128-n8:16:32:64-S128"
target triple = "x86_64-unknown-linux-gnu"
%"struct.coro::promise_type" = type { i8 }
%_Z3foov.Frame = type { void (%_Z3foov.Frame*)*, void (%_Z3foov.Frame*)*, %"struct.coro::promise_type", i2, %"struct.std::experimental::coroutines_v1::suspend_never", %"class.std::experimental::coroutines_v1::coroutine_handle.0", %"class.std::experimental::coroutines_v1::coroutine_handle", i32, %"struct.std::experimental::coroutines_v1::suspend_always", %"class.std::experimental::coroutines_v1::coroutine_handle.0", %"class.std::experimental::coroutines_v1::coroutine_handle", i32, %"struct.std::experimental::coroutines_v1::suspend_always", %"class.std::experimental::coroutines_v1::coroutine_handle.0", %"class.std::experimental::coroutines_v1::coroutine_handle", %"struct.std::experimental::coroutines_v1::suspend_never", %"class.std::experimental::coroutines_v1::coroutine_handle.0", %"class.std::experimental::coroutines_v1::coroutine_handle" }
%"struct.std::experimental::coroutines_v1::suspend_always" = type { i8 }
%"struct.std::experimental::coroutines_v1::suspend_never" = type { i8 }
%"class.std::experimental::coroutines_v1::coroutine_handle.0" = type { i8* }
%"class.std::experimental::coroutines_v1::coroutine_handle" = type { %"class.std::experimental::coroutines_v1::coroutine_handle.0" }
%struct.coro = type { %"class.std::experimental::coroutines_v1::coroutine_handle" }
$_ZN4coro12promise_type17get_return_objectEv = comdat any
$_ZN4coro12promise_type15initial_suspendEv = comdat any
$_ZNKSt12experimental13coroutines_v113suspend_never11await_readyEv = comdat any
$_ZNKSt12experimental13coroutines_v113suspend_never13await_suspendENS0_16coroutine_handleIvEE = comdat any
$_ZNSt12experimental13coroutines_v116coroutine_handleIN4coro12promise_typeEE12from_addressEPv = comdat any
$_ZNKSt12experimental13coroutines_v113suspend_never12await_resumeEv = comdat any
$_ZNKSt12experimental13coroutines_v114suspend_always11await_readyEv = comdat any
$_ZNKSt12experimental13coroutines_v114suspend_always13await_suspendENS0_16coroutine_handleIvEE = comdat any
$_ZNKSt12experimental13coroutines_v114suspend_always12await_resumeEv = comdat any
$_ZN4coro12promise_type11return_voidEv = comdat any
$_ZN4coro12promise_type13final_suspendEv = comdat any
$_ZNSt12experimental13coroutines_v116coroutine_handleIvE6resumeEv = comdat any
$_ZNSt12experimental13coroutines_v116coroutine_handleIN4coro12promise_typeEE12from_promiseERS3_ = comdat any
$_ZN4coroC2ENSt12experimental13coroutines_v116coroutine_handleINS_12promise_typeEEE = comdat any
$_ZNSt12experimental13coroutines_v116coroutine_handleIN4coro12promise_typeEEC2Ev = comdat any
$_ZNSt3__19addressofIN4coro12promise_typeEEEPT_RS3_ = comdat any
$_ZNSt12experimental13coroutines_v116coroutine_handleIvEC2Ev = comdat any
@__const._Z3foov.__promise = private unnamed_addr constant %"struct.coro::promise_type" undef, align 1
@.str = private unnamed_addr constant [4 x i8] c"%d\0A\00", align 1
@.str.1 = private unnamed_addr constant [8 x i8] c"%d, %d\0A\00", align 1
@_Z3foov.resumers = private constant [3 x void (%_Z3foov.Frame*)*] [void (%_Z3foov.Frame*)* @_Z3foov.resume, void (%_Z3foov.Frame*)* @_Z3foov.destroy, void (%_Z3foov.Frame*)* @_Z3foov.cleanup]
; Function Attrs: noinline nounwind optnone uwtable
define dso_local i8* @_Z3foov() #0 !dbg !648 {
entry:
%retval = alloca %struct.coro, align 8
%gro.active = alloca i1, align 1
%0 = alloca %"struct.coro::promise_type", align 1
%1 = alloca %"struct.std::experimental::coroutines_v1::suspend_never", align 1
%undef.agg.tmp = alloca %"struct.std::experimental::coroutines_v1::suspend_never", align 1
%agg.tmp = alloca %"class.std::experimental::coroutines_v1::coroutine_handle.0", align 8
%ref.tmp5 = alloca %"class.std::experimental::coroutines_v1::coroutine_handle", align 8
%i = alloca i32, align 4
%ref.tmp11 = alloca %"struct.std::experimental::coroutines_v1::suspend_always", align 1
%agg.tmp13 = alloca %"class.std::experimental::coroutines_v1::coroutine_handle.0", align 8
%ref.tmp14 = alloca %"class.std::experimental::coroutines_v1::coroutine_handle", align 8
%j = alloca i32, align 4
%ref.tmp22 = alloca %"struct.std::experimental::coroutines_v1::suspend_always", align 1
%agg.tmp24 = alloca %"class.std::experimental::coroutines_v1::coroutine_handle.0", align 8
%ref.tmp25 = alloca %"class.std::experimental::coroutines_v1::coroutine_handle", align 8
%ref.tmp33 = alloca %"struct.std::experimental::coroutines_v1::suspend_never", align 1
%undef.agg.tmp34 = alloca %"struct.std::experimental::coroutines_v1::suspend_never", align 1
%agg.tmp36 = alloca %"class.std::experimental::coroutines_v1::coroutine_handle.0", align 8
%ref.tmp37 = alloca %"class.std::experimental::coroutines_v1::coroutine_handle", align 8
call void @coro.devirt.trigger(i8* null)
br i1 true, label %coro.alloc, label %coro.init.from.entry, !dbg !650
coro.init.from.entry: ; preds = %entry
%.coro.init = phi i8* [ null, %entry ]
br label %coro.init, !dbg !650
coro.alloc: ; preds = %entry
%call = call i8* @_Znwm(i64 112), !dbg !651
br label %coro.init.from.coro.alloc, !dbg !650
coro.init.from.coro.alloc: ; preds = %coro.alloc
%call.coro.init = phi i8* [ %call, %coro.alloc ]
br label %coro.init, !dbg !650
coro.init: ; preds = %coro.init.from.entry, %coro.init.from.coro.alloc
%2 = phi i8* [ %.coro.init, %coro.init.from.entry ], [ %call.coro.init, %coro.init.from.coro.alloc ], !dbg !650
%FramePtr = bitcast i8* %2 to %_Z3foov.Frame*, !dbg !650
%resume.addr = getelementptr inbounds %_Z3foov.Frame, %_Z3foov.Frame* %FramePtr, i32 0, i32 0, !dbg !650
store void (%_Z3foov.Frame*)* @_Z3foov.resume, void (%_Z3foov.Frame*)** %resume.addr, !dbg !650
%3 = select i1 true, void (%_Z3foov.Frame*)* @_Z3foov.destroy, void (%_Z3foov.Frame*)* @_Z3foov.cleanup, !dbg !650
%destroy.addr = getelementptr inbounds %_Z3foov.Frame, %_Z3foov.Frame* %FramePtr, i32 0, i32 1, !dbg !650
store void (%_Z3foov.Frame*)* %3, void (%_Z3foov.Frame*)** %destroy.addr, !dbg !650
br label %AllocaSpillBB, !dbg !650
AllocaSpillBB: ; preds = %coro.init
%__promise = getelementptr inbounds %_Z3foov.Frame, %_Z3foov.Frame* %FramePtr, i32 0, i32 2, !dbg !650
%ref.tmp = getelementptr inbounds %_Z3foov.Frame, %_Z3foov.Frame* %FramePtr, i32 0, i32 4, !dbg !650
br label %PostSpill, !dbg !650
PostSpill: ; preds = %AllocaSpillBB
store i1 false, i1* %gro.active, align 1, !dbg !650
call void @llvm.dbg.declare(metadata %struct.coro* %retval, metadata !652, metadata !DIExpression()), !dbg !651
call void @llvm.dbg.declare(metadata %"struct.coro::promise_type"* %0, metadata !653, metadata !DIExpression()), !dbg !651
%4 = bitcast %"struct.coro::promise_type"* %__promise to i8*, !dbg !651
call void @llvm.memcpy.p0i8.p0i8.i64(i8* align 1 %4, i8* align 1 getelementptr inbounds (%"struct.coro::promise_type", %"struct.coro::promise_type"* @__const._Z3foov.__promise, i32 0, i32 0), i64 1, i1 false), !dbg !651
%call1 = call i8* @_ZN4coro12promise_type17get_return_objectEv(%"struct.coro::promise_type"* %__promise), !dbg !651
%coerce.dive = getelementptr inbounds %struct.coro, %struct.coro* %retval, i32 0, i32 0, !dbg !651
%coerce.dive2 = getelementptr inbounds %"class.std::experimental::coroutines_v1::coroutine_handle", %"class.std::experimental::coroutines_v1::coroutine_handle"* %coerce.dive, i32 0, i32 0, !dbg !651
%coerce.dive3 = getelementptr inbounds %"class.std::experimental::coroutines_v1::coroutine_handle.0", %"class.std::experimental::coroutines_v1::coroutine_handle.0"* %coerce.dive2, i32 0, i32 0, !dbg !651
store i8* %call1, i8** %coerce.dive3, align 8, !dbg !651
store i1 true, i1* %gro.active, align 1, !dbg !651
call void @_ZN4coro12promise_type15initial_suspendEv(%"struct.coro::promise_type"* %__promise), !dbg !651
%call4 = call zeroext i1 @_ZNKSt12experimental13coroutines_v113suspend_never11await_readyEv(%"struct.std::experimental::coroutines_v1::suspend_never"* %ref.tmp) #2, !dbg !651
br i1 %call4, label %init.ready, label %CoroSave, !dbg !651
CoroSave: ; preds = %PostSpill
%index.addr72 = getelementptr inbounds %_Z3foov.Frame, %_Z3foov.Frame* %FramePtr, i32 0, i32 3, !dbg !651
store i2 0, i2* %index.addr72, !dbg !651
br label %AfterCoroSave, !dbg !651
AfterCoroSave: ; preds = %CoroSave
%ref.tmp5.reload.addr = getelementptr inbounds %_Z3foov.Frame, %_Z3foov.Frame* %FramePtr, i32 0, i32 6, !dbg !651
%agg.tmp.reload.addr = getelementptr inbounds %_Z3foov.Frame, %_Z3foov.Frame* %FramePtr, i32 0, i32 5, !dbg !651
%ref.tmp.reload.addr61 = getelementptr inbounds %_Z3foov.Frame, %_Z3foov.Frame* %FramePtr, i32 0, i32 4, !dbg !651
%call6 = call i8* @_ZNSt12experimental13coroutines_v116coroutine_handleIN4coro12promise_typeEE12from_addressEPv(i8* %2) #2, !dbg !651
%coerce.dive7 = getelementptr inbounds %"class.std::experimental::coroutines_v1::coroutine_handle", %"class.std::experimental::coroutines_v1::coroutine_handle"* %ref.tmp5.reload.addr, i32 0, i32 0, !dbg !651
%coerce.dive8 = getelementptr inbounds %"class.std::experimental::coroutines_v1::coroutine_handle.0", %"class.std::experimental::coroutines_v1::coroutine_handle.0"* %coerce.dive7, i32 0, i32 0, !dbg !651
store i8* %call6, i8** %coerce.dive8, align 8, !dbg !651
%5 = bitcast %"class.std::experimental::coroutines_v1::coroutine_handle"* %ref.tmp5.reload.addr to %"class.std::experimental::coroutines_v1::coroutine_handle.0"*, !dbg !651
%6 = bitcast %"class.std::experimental::coroutines_v1::coroutine_handle.0"* %agg.tmp.reload.addr to i8*, !dbg !651
%7 = bitcast %"class.std::experimental::coroutines_v1::coroutine_handle.0"* %5 to i8*, !dbg !651
call void @llvm.memcpy.p0i8.p0i8.i64(i8* align 8 %6, i8* align 8 %7, i64 8, i1 false), !dbg !651
%coerce.dive9 = getelementptr inbounds %"class.std::experimental::coroutines_v1::coroutine_handle.0", %"class.std::experimental::coroutines_v1::coroutine_handle.0"* %agg.tmp.reload.addr, i32 0, i32 0, !dbg !651
%8 = load i8*, i8** %coerce.dive9, align 8, !dbg !651
call void @_ZNKSt12experimental13coroutines_v113suspend_never13await_suspendENS0_16coroutine_handleIvEE(%"struct.std::experimental::coroutines_v1::suspend_never"* %ref.tmp.reload.addr61, i8* %8) #2, !dbg !651
br label %CoroSuspend, !dbg !651
CoroSuspend: ; preds = %AfterCoroSave
br label %resume.0.landing, !dbg !651
resume.0.landing: ; preds = %CoroSuspend
br label %AfterCoroSuspend, !dbg !651
AfterCoroSuspend: ; preds = %resume.0.landing
switch i8 -1, label %coro.ret [
i8 0, label %init.ready
i8 1, label %init.cleanup
], !dbg !651
init.cleanup: ; preds = %AfterCoroSuspend
br label %cleanup.from.init.cleanup, !dbg !651
cleanup.from.init.cleanup: ; preds = %init.cleanup
%.cleanup60 = phi i32 [ 2, %init.cleanup ]
br label %cleanup, !dbg !651
init.ready: ; preds = %AfterCoroSuspend, %PostSpill
%ref.tmp11.reload.addr65 = getelementptr inbounds %_Z3foov.Frame, %_Z3foov.Frame* %FramePtr, i32 0, i32 8, !dbg !651
%i.reload.addr63 = getelementptr inbounds %_Z3foov.Frame, %_Z3foov.Frame* %FramePtr, i32 0, i32 7, !dbg !651
%ref.tmp.reload.addr = getelementptr inbounds %_Z3foov.Frame, %_Z3foov.Frame* %FramePtr, i32 0, i32 4, !dbg !651
call void @_ZNKSt12experimental13coroutines_v113suspend_never12await_resumeEv(%"struct.std::experimental::coroutines_v1::suspend_never"* %ref.tmp.reload.addr) #2, !dbg !651
call void @llvm.dbg.value(metadata i32 0, metadata !659, metadata !DIExpression()), !dbg !661
store i32 0, i32* %i.reload.addr63, align 4, !dbg !662
%9 = load i32, i32* %i.reload.addr63, align 4, !dbg !663
call void @llvm.dbg.value(metadata i32 %9, metadata !659, metadata !DIExpression()), !dbg !661
%inc = add nsw i32 %9, 1, !dbg !663
call void @llvm.dbg.value(metadata i32 %inc, metadata !659, metadata !DIExpression()), !dbg !661
store i32 %inc, i32* %i.reload.addr63, align 4, !dbg !663
%10 = load i32, i32* %i.reload.addr63, align 4, !dbg !664
call void @llvm.dbg.value(metadata i32 %10, metadata !659, metadata !DIExpression()), !dbg !661
%call10 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str, i64 0, i64 0), i32 %10), !dbg !665
%call12 = call zeroext i1 @_ZNKSt12experimental13coroutines_v114suspend_always11await_readyEv(%"struct.std::experimental::coroutines_v1::suspend_always"* %ref.tmp11.reload.addr65) #2, !dbg !666
br i1 %call12, label %await.ready, label %CoroSave45, !dbg !667
CoroSave45: ; preds = %init.ready
%index.addr73 = getelementptr inbounds %_Z3foov.Frame, %_Z3foov.Frame* %FramePtr, i32 0, i32 3, !dbg !667
store i2 1, i2* %index.addr73, !dbg !667
br label %AfterCoroSave46, !dbg !666
AfterCoroSave46: ; preds = %CoroSave45
%ref.tmp14.reload.addr = getelementptr inbounds %_Z3foov.Frame, %_Z3foov.Frame* %FramePtr, i32 0, i32 10, !dbg !666
%agg.tmp13.reload.addr = getelementptr inbounds %_Z3foov.Frame, %_Z3foov.Frame* %FramePtr, i32 0, i32 9, !dbg !666
%ref.tmp11.reload.addr64 = getelementptr inbounds %_Z3foov.Frame, %_Z3foov.Frame* %FramePtr, i32 0, i32 8, !dbg !666
%call15 = call i8* @_ZNSt12experimental13coroutines_v116coroutine_handleIN4coro12promise_typeEE12from_addressEPv(i8* %2) #2, !dbg !666
%coerce.dive16 = getelementptr inbounds %"class.std::experimental::coroutines_v1::coroutine_handle", %"class.std::experimental::coroutines_v1::coroutine_handle"* %ref.tmp14.reload.addr, i32 0, i32 0, !dbg !666
%coerce.dive17 = getelementptr inbounds %"class.std::experimental::coroutines_v1::coroutine_handle.0", %"class.std::experimental::coroutines_v1::coroutine_handle.0"* %coerce.dive16, i32 0, i32 0, !dbg !666
store i8* %call15, i8** %coerce.dive17, align 8, !dbg !666
%11 = bitcast %"class.std::experimental::coroutines_v1::coroutine_handle"* %ref.tmp14.reload.addr to %"class.std::experimental::coroutines_v1::coroutine_handle.0"*, !dbg !666
%12 = bitcast %"class.std::experimental::coroutines_v1::coroutine_handle.0"* %agg.tmp13.reload.addr to i8*, !dbg !666
%13 = bitcast %"class.std::experimental::coroutines_v1::coroutine_handle.0"* %11 to i8*, !dbg !666
call void @llvm.memcpy.p0i8.p0i8.i64(i8* align 8 %12, i8* align 8 %13, i64 8, i1 false), !dbg !666
%coerce.dive18 = getelementptr inbounds %"class.std::experimental::coroutines_v1::coroutine_handle.0", %"class.std::experimental::coroutines_v1::coroutine_handle.0"* %agg.tmp13.reload.addr, i32 0, i32 0, !dbg !666
%14 = load i8*, i8** %coerce.dive18, align 8, !dbg !666
call void @_ZNKSt12experimental13coroutines_v114suspend_always13await_suspendENS0_16coroutine_handleIvEE(%"struct.std::experimental::coroutines_v1::suspend_always"* %ref.tmp11.reload.addr64, i8* %14) #2, !dbg !666
br label %CoroSuspend47, !dbg !667
CoroSuspend47: ; preds = %AfterCoroSave46
br label %resume.1.landing, !dbg !667
resume.1.landing: ; preds = %CoroSuspend47
br label %AfterCoroSuspend48, !dbg !667
AfterCoroSuspend48: ; preds = %resume.1.landing
switch i8 -1, label %coro.ret [
i8 0, label %await.ready
i8 1, label %await.cleanup
], !dbg !667
await.cleanup: ; preds = %AfterCoroSuspend48
br label %cleanup.from.await.cleanup, !dbg !667
cleanup.from.await.cleanup: ; preds = %await.cleanup
%.cleanup59 = phi i32 [ 2, %await.cleanup ]
br label %cleanup, !dbg !667
await.ready: ; preds = %AfterCoroSuspend48, %init.ready
%ref.tmp22.reload.addr68 = getelementptr inbounds %_Z3foov.Frame, %_Z3foov.Frame* %FramePtr, i32 0, i32 12, !dbg !666
%j.reload.addr66 = getelementptr inbounds %_Z3foov.Frame, %_Z3foov.Frame* %FramePtr, i32 0, i32 11, !dbg !666
%ref.tmp11.reload.addr = getelementptr inbounds %_Z3foov.Frame, %_Z3foov.Frame* %FramePtr, i32 0, i32 8, !dbg !666
%i.reload.addr62 = getelementptr inbounds %_Z3foov.Frame, %_Z3foov.Frame* %FramePtr, i32 0, i32 7, !dbg !666
call void @_ZNKSt12experimental13coroutines_v114suspend_always12await_resumeEv(%"struct.std::experimental::coroutines_v1::suspend_always"* %ref.tmp11.reload.addr) #2, !dbg !666
call void @llvm.dbg.value(metadata i32 0, metadata !668, metadata !DIExpression()), !dbg !661
store i32 0, i32* %j.reload.addr66, align 4, !dbg !669
%15 = load i32, i32* %i.reload.addr62, align 4, !dbg !670
call void @llvm.dbg.value(metadata i32 %15, metadata !659, metadata !DIExpression()), !dbg !661
%inc19 = add nsw i32 %15, 1, !dbg !670
call void @llvm.dbg.value(metadata i32 %inc19, metadata !659, metadata !DIExpression()), !dbg !661
store i32 %inc19, i32* %i.reload.addr62, align 4, !dbg !670
%16 = load i32, i32* %j.reload.addr66, align 4, !dbg !671
call void @llvm.dbg.value(metadata i32 %16, metadata !668, metadata !DIExpression()), !dbg !661
%inc20 = add nsw i32 %16, 1, !dbg !671
call void @llvm.dbg.value(metadata i32 %inc20, metadata !668, metadata !DIExpression()), !dbg !661
store i32 %inc20, i32* %j.reload.addr66, align 4, !dbg !671
%17 = load i32, i32* %i.reload.addr62, align 4, !dbg !672
call void @llvm.dbg.value(metadata i32 %17, metadata !659, metadata !DIExpression()), !dbg !661
%18 = load i32, i32* %j.reload.addr66, align 4, !dbg !673
call void @llvm.dbg.value(metadata i32 %18, metadata !668, metadata !DIExpression()), !dbg !661
%call21 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.1, i64 0, i64 0), i32 %17, i32 %18), !dbg !674
%call23 = call zeroext i1 @_ZNKSt12experimental13coroutines_v114suspend_always11await_readyEv(%"struct.std::experimental::coroutines_v1::suspend_always"* %ref.tmp22.reload.addr68) #2, !dbg !675
br i1 %call23, label %await2.ready, label %CoroSave49, !dbg !676
CoroSave49: ; preds = %await.ready
%index.addr74 = getelementptr inbounds %_Z3foov.Frame, %_Z3foov.Frame* %FramePtr, i32 0, i32 3, !dbg !676
store i2 -2, i2* %index.addr74, !dbg !676
br label %AfterCoroSave50, !dbg !675
AfterCoroSave50: ; preds = %CoroSave49
%ref.tmp25.reload.addr = getelementptr inbounds %_Z3foov.Frame, %_Z3foov.Frame* %FramePtr, i32 0, i32 14, !dbg !675
%agg.tmp24.reload.addr = getelementptr inbounds %_Z3foov.Frame, %_Z3foov.Frame* %FramePtr, i32 0, i32 13, !dbg !675
%ref.tmp22.reload.addr67 = getelementptr inbounds %_Z3foov.Frame, %_Z3foov.Frame* %FramePtr, i32 0, i32 12, !dbg !675
%call26 = call i8* @_ZNSt12experimental13coroutines_v116coroutine_handleIN4coro12promise_typeEE12from_addressEPv(i8* %2) #2, !dbg !675
%coerce.dive27 = getelementptr inbounds %"class.std::experimental::coroutines_v1::coroutine_handle", %"class.std::experimental::coroutines_v1::coroutine_handle"* %ref.tmp25.reload.addr, i32 0, i32 0, !dbg !675
%coerce.dive28 = getelementptr inbounds %"class.std::experimental::coroutines_v1::coroutine_handle.0", %"class.std::experimental::coroutines_v1::coroutine_handle.0"* %coerce.dive27, i32 0, i32 0, !dbg !675
store i8* %call26, i8** %coerce.dive28, align 8, !dbg !675
%19 = bitcast %"class.std::experimental::coroutines_v1::coroutine_handle"* %ref.tmp25.reload.addr to %"class.std::experimental::coroutines_v1::coroutine_handle.0"*, !dbg !675
%20 = bitcast %"class.std::experimental::coroutines_v1::coroutine_handle.0"* %agg.tmp24.reload.addr to i8*, !dbg !675
%21 = bitcast %"class.std::experimental::coroutines_v1::coroutine_handle.0"* %19 to i8*, !dbg !675
call void @llvm.memcpy.p0i8.p0i8.i64(i8* align 8 %20, i8* align 8 %21, i64 8, i1 false), !dbg !675
%coerce.dive29 = getelementptr inbounds %"class.std::experimental::coroutines_v1::coroutine_handle.0", %"class.std::experimental::coroutines_v1::coroutine_handle.0"* %agg.tmp24.reload.addr, i32 0, i32 0, !dbg !675
%22 = load i8*, i8** %coerce.dive29, align 8, !dbg !675
call void @_ZNKSt12experimental13coroutines_v114suspend_always13await_suspendENS0_16coroutine_handleIvEE(%"struct.std::experimental::coroutines_v1::suspend_always"* %ref.tmp22.reload.addr67, i8* %22) #2, !dbg !675
br label %CoroSuspend51, !dbg !676
CoroSuspend51: ; preds = %AfterCoroSave50
br label %resume.2.landing, !dbg !676
resume.2.landing: ; preds = %CoroSuspend51
br label %AfterCoroSuspend52, !dbg !676
AfterCoroSuspend52: ; preds = %resume.2.landing
switch i8 -1, label %coro.ret [
i8 0, label %await2.ready
i8 1, label %await2.cleanup
], !dbg !676
await2.cleanup: ; preds = %AfterCoroSuspend52
br label %cleanup.from.await2.cleanup, !dbg !676
cleanup.from.await2.cleanup: ; preds = %await2.cleanup
%.cleanup58 = phi i32 [ 2, %await2.cleanup ]
br label %cleanup, !dbg !676
await2.ready: ; preds = %AfterCoroSuspend52, %await.ready
%ref.tmp22.reload.addr = getelementptr inbounds %_Z3foov.Frame, %_Z3foov.Frame* %FramePtr, i32 0, i32 12, !dbg !675
%j.reload.addr = getelementptr inbounds %_Z3foov.Frame, %_Z3foov.Frame* %FramePtr, i32 0, i32 11, !dbg !675
%i.reload.addr = getelementptr inbounds %_Z3foov.Frame, %_Z3foov.Frame* %FramePtr, i32 0, i32 7, !dbg !675
call void @_ZNKSt12experimental13coroutines_v114suspend_always12await_resumeEv(%"struct.std::experimental::coroutines_v1::suspend_always"* %ref.tmp22.reload.addr) #2, !dbg !675
%23 = load i32, i32* %i.reload.addr, align 4, !dbg !677
call void @llvm.dbg.value(metadata i32 %23, metadata !659, metadata !DIExpression()), !dbg !661
%inc30 = add nsw i32 %23, 1, !dbg !677
call void @llvm.dbg.value(metadata i32 %inc30, metadata !659, metadata !DIExpression()), !dbg !661
store i32 %inc30, i32* %i.reload.addr, align 4, !dbg !677
%24 = load i32, i32* %j.reload.addr, align 4, !dbg !678
call void @llvm.dbg.value(metadata i32 %24, metadata !668, metadata !DIExpression()), !dbg !661
%inc31 = add nsw i32 %24, 1, !dbg !678
call void @llvm.dbg.value(metadata i32 %inc31, metadata !668, metadata !DIExpression()), !dbg !661
store i32 %inc31, i32* %j.reload.addr, align 4, !dbg !678
%25 = load i32, i32* %j.reload.addr, align 4, !dbg !679
call void @llvm.dbg.value(metadata i32 %25, metadata !668, metadata !DIExpression()), !dbg !661
%26 = load i32, i32* %i.reload.addr, align 4, !dbg !680
call void @llvm.dbg.value(metadata i32 %26, metadata !659, metadata !DIExpression()), !dbg !661
%call32 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.1, i64 0, i64 0), i32 %25, i32 %26), !dbg !681
call void @_ZN4coro12promise_type11return_voidEv(%"struct.coro::promise_type"* %__promise), !dbg !651
br label %coro.final, !dbg !651
coro.final: ; preds = %await2.ready
%ref.tmp33.reload.addr70 = getelementptr inbounds %_Z3foov.Frame, %_Z3foov.Frame* %FramePtr, i32 0, i32 15, !dbg !651
call void @_ZN4coro12promise_type13final_suspendEv(%"struct.coro::promise_type"* %__promise), !dbg !651
%call35 = call zeroext i1 @_ZNKSt12experimental13coroutines_v113suspend_never11await_readyEv(%"struct.std::experimental::coroutines_v1::suspend_never"* %ref.tmp33.reload.addr70) #2, !dbg !651
br i1 %call35, label %final.ready, label %CoroSave53, !dbg !651
CoroSave53: ; preds = %coro.final
%ResumeFn.addr = getelementptr inbounds %_Z3foov.Frame, %_Z3foov.Frame* %FramePtr, i32 0, i32 0, !dbg !651
store void (%_Z3foov.Frame*)* null, void (%_Z3foov.Frame*)** %ResumeFn.addr, !dbg !651
br label %AfterCoroSave54, !dbg !651
AfterCoroSave54: ; preds = %CoroSave53
%ref.tmp37.reload.addr = getelementptr inbounds %_Z3foov.Frame, %_Z3foov.Frame* %FramePtr, i32 0, i32 17, !dbg !651
%agg.tmp36.reload.addr = getelementptr inbounds %_Z3foov.Frame, %_Z3foov.Frame* %FramePtr, i32 0, i32 16, !dbg !651
%ref.tmp33.reload.addr69 = getelementptr inbounds %_Z3foov.Frame, %_Z3foov.Frame* %FramePtr, i32 0, i32 15, !dbg !651
%call38 = call i8* @_ZNSt12experimental13coroutines_v116coroutine_handleIN4coro12promise_typeEE12from_addressEPv(i8* %2) #2, !dbg !651
%coerce.dive39 = getelementptr inbounds %"class.std::experimental::coroutines_v1::coroutine_handle", %"class.std::experimental::coroutines_v1::coroutine_handle"* %ref.tmp37.reload.addr, i32 0, i32 0, !dbg !651
%coerce.dive40 = getelementptr inbounds %"class.std::experimental::coroutines_v1::coroutine_handle.0", %"class.std::experimental::coroutines_v1::coroutine_handle.0"* %coerce.dive39, i32 0, i32 0, !dbg !651
store i8* %call38, i8** %coerce.dive40, align 8, !dbg !651
%27 = bitcast %"class.std::experimental::coroutines_v1::coroutine_handle"* %ref.tmp37.reload.addr to %"class.std::experimental::coroutines_v1::coroutine_handle.0"*, !dbg !651
%28 = bitcast %"class.std::experimental::coroutines_v1::coroutine_handle.0"* %agg.tmp36.reload.addr to i8*, !dbg !651
%29 = bitcast %"class.std::experimental::coroutines_v1::coroutine_handle.0"* %27 to i8*, !dbg !651
call void @llvm.memcpy.p0i8.p0i8.i64(i8* align 8 %28, i8* align 8 %29, i64 8, i1 false), !dbg !651
%coerce.dive41 = getelementptr inbounds %"class.std::experimental::coroutines_v1::coroutine_handle.0", %"class.std::experimental::coroutines_v1::coroutine_handle.0"* %agg.tmp36.reload.addr, i32 0, i32 0, !dbg !651
%30 = load i8*, i8** %coerce.dive41, align 8, !dbg !651
call void @_ZNKSt12experimental13coroutines_v113suspend_never13await_suspendENS0_16coroutine_handleIvEE(%"struct.std::experimental::coroutines_v1::suspend_never"* %ref.tmp33.reload.addr69, i8* %30) #2, !dbg !651
br label %CoroSuspend55, !dbg !651
CoroSuspend55: ; preds = %AfterCoroSave54
br label %resume.3.landing, !dbg !651
resume.3.landing: ; preds = %CoroSuspend55
br label %AfterCoroSuspend56, !dbg !651
AfterCoroSuspend56: ; preds = %resume.3.landing
switch i8 -1, label %coro.ret [
i8 0, label %final.ready
i8 1, label %final.cleanup
], !dbg !651
final.cleanup: ; preds = %AfterCoroSuspend56
br label %cleanup.from.final.cleanup, !dbg !651
cleanup.from.final.cleanup: ; preds = %final.cleanup
%.cleanup57 = phi i32 [ 2, %final.cleanup ]
br label %cleanup, !dbg !651
final.ready: ; preds = %AfterCoroSuspend56, %coro.final
%ref.tmp33.reload.addr = getelementptr inbounds %_Z3foov.Frame, %_Z3foov.Frame* %FramePtr, i32 0, i32 15, !dbg !651
call void @_ZNKSt12experimental13coroutines_v113suspend_never12await_resumeEv(%"struct.std::experimental::coroutines_v1::suspend_never"* %ref.tmp33.reload.addr) #2, !dbg !651
br label %cleanup.from.final.ready, !dbg !651
cleanup.from.final.ready: ; preds = %final.ready
%.cleanup = phi i32 [ 0, %final.ready ]
br label %cleanup, !dbg !651
cleanup: ; preds = %cleanup.from.final.ready, %cleanup.from.final.cleanup, %cleanup.from.await2.cleanup, %cleanup.from.await.cleanup, %cleanup.from.init.cleanup
%cleanup.dest.slot.0 = phi i32 [ %.cleanup, %cleanup.from.final.ready ], [ %.cleanup57, %cleanup.from.final.cleanup ], [ %.cleanup58, %cleanup.from.await2.cleanup ], [ %.cleanup59, %cleanup.from.await.cleanup ], [ %.cleanup60, %cleanup.from.init.cleanup ]
%31 = icmp ne i8* %2, null, !dbg !651
br i1 %31, label %coro.free, label %after.coro.free, !dbg !651
coro.free: ; preds = %cleanup
call void @_ZdlPv(i8* %2) #2, !dbg !651
br label %after.coro.free, !dbg !651
after.coro.free: ; preds = %cleanup, %coro.free
switch i32 %cleanup.dest.slot.0, label %unreachable [
i32 0, label %cleanup.cont
i32 2, label %coro.ret
]
cleanup.cont: ; preds = %after.coro.free
br label %coro.ret, !dbg !651
coro.ret: ; preds = %cleanup.cont, %after.coro.free, %AfterCoroSuspend56, %AfterCoroSuspend52, %AfterCoroSuspend48, %AfterCoroSuspend
br label %CoroEnd, !dbg !651
CoroEnd: ; preds = %coro.ret
br label %AfterCoroEnd, !dbg !651
AfterCoroEnd: ; preds = %CoroEnd
%coerce.dive42 = getelementptr inbounds %struct.coro, %struct.coro* %retval, i32 0, i32 0, !dbg !651
%coerce.dive43 = getelementptr inbounds %"class.std::experimental::coroutines_v1::coroutine_handle", %"class.std::experimental::coroutines_v1::coroutine_handle"* %coerce.dive42, i32 0, i32 0, !dbg !651
%coerce.dive44 = getelementptr inbounds %"class.std::experimental::coroutines_v1::coroutine_handle.0", %"class.std::experimental::coroutines_v1::coroutine_handle.0"* %coerce.dive43, i32 0, i32 0, !dbg !651
%32 = load i8*, i8** %coerce.dive44, align 8, !dbg !651
ret i8* %32, !dbg !651
unreachable: ; preds = %after.coro.free
unreachable
}
; Function Attrs: argmemonly nounwind readonly
declare token @llvm.coro.id(i32, i8* readnone, i8* nocapture readonly, i8*) #1
; Function Attrs: nounwind
declare i1 @llvm.coro.alloc(token) #2
; Function Attrs: nobuiltin
declare dso_local noalias i8* @_Znwm(i64) #3
; Function Attrs: nounwind readnone
declare i64 @llvm.coro.size.i64() #4
; Function Attrs: nounwind
declare i8* @llvm.coro.begin(token, i8* writeonly) #2
; Function Attrs: nounwind readnone speculatable willreturn
declare void @llvm.dbg.declare(metadata, metadata, metadata) #5
; Function Attrs: argmemonly nounwind willreturn
declare void @llvm.memcpy.p0i8.p0i8.i64(i8* noalias nocapture writeonly, i8* noalias nocapture readonly, i64, i1 immarg) #6
; Function Attrs: noinline nounwind optnone uwtable
define linkonce_odr dso_local i8* @_ZN4coro12promise_type17get_return_objectEv(%"struct.coro::promise_type"* %this) #0 comdat align 2 !dbg !682 {
entry:
%retval = alloca %struct.coro, align 8
%this.addr = alloca %"struct.coro::promise_type"*, align 8
%handle = alloca %"class.std::experimental::coroutines_v1::coroutine_handle", align 8
%agg.tmp = alloca %"class.std::experimental::coroutines_v1::coroutine_handle", align 8
store %"struct.coro::promise_type"* %this, %"struct.coro::promise_type"** %this.addr, align 8
call void @llvm.dbg.declare(metadata %"struct.coro::promise_type"** %this.addr, metadata !683, metadata !DIExpression()), !dbg !685
%this1 = load %"struct.coro::promise_type"*, %"struct.coro::promise_type"** %this.addr, align 8
call void @llvm.dbg.declare(metadata %"class.std::experimental::coroutines_v1::coroutine_handle"* %handle, metadata !686, metadata !DIExpression()), !dbg !687
%call = call i8* @_ZNSt12experimental13coroutines_v116coroutine_handleIN4coro12promise_typeEE12from_promiseERS3_(%"struct.coro::promise_type"* dereferenceable(1) %this1) #2, !dbg !688
%coerce.dive = getelementptr inbounds %"class.std::experimental::coroutines_v1::coroutine_handle", %"class.std::experimental::coroutines_v1::coroutine_handle"* %handle, i32 0, i32 0, !dbg !688
%coerce.dive2 = getelementptr inbounds %"class.std::experimental::coroutines_v1::coroutine_handle.0", %"class.std::experimental::coroutines_v1::coroutine_handle.0"* %coerce.dive, i32 0, i32 0, !dbg !688
store i8* %call, i8** %coerce.dive2, align 8, !dbg !688
%0 = bitcast %"class.std::experimental::coroutines_v1::coroutine_handle"* %agg.tmp to i8*, !dbg !689
%1 = bitcast %"class.std::experimental::coroutines_v1::coroutine_handle"* %handle to i8*, !dbg !689
call void @llvm.memcpy.p0i8.p0i8.i64(i8* align 8 %0, i8* align 8 %1, i64 8, i1 false), !dbg !689
%coerce.dive3 = getelementptr inbounds %"class.std::experimental::coroutines_v1::coroutine_handle", %"class.std::experimental::coroutines_v1::coroutine_handle"* %agg.tmp, i32 0, i32 0, !dbg !690
%coerce.dive4 = getelementptr inbounds %"class.std::experimental::coroutines_v1::coroutine_handle.0", %"class.std::experimental::coroutines_v1::coroutine_handle.0"* %coerce.dive3, i32 0, i32 0, !dbg !690
%2 = load i8*, i8** %coerce.dive4, align 8, !dbg !690
call void @_ZN4coroC2ENSt12experimental13coroutines_v116coroutine_handleINS_12promise_typeEEE(%struct.coro* %retval, i8* %2), !dbg !690
%coerce.dive5 = getelementptr inbounds %struct.coro, %struct.coro* %retval, i32 0, i32 0, !dbg !691
%coerce.dive6 = getelementptr inbounds %"class.std::experimental::coroutines_v1::coroutine_handle", %"class.std::experimental::coroutines_v1::coroutine_handle"* %coerce.dive5, i32 0, i32 0, !dbg !691
%coerce.dive7 = getelementptr inbounds %"class.std::experimental::coroutines_v1::coroutine_handle.0", %"class.std::experimental::coroutines_v1::coroutine_handle.0"* %coerce.dive6, i32 0, i32 0, !dbg !691
%3 = load i8*, i8** %coerce.dive7, align 8, !dbg !691
ret i8* %3, !dbg !691
}
; Function Attrs: noinline nounwind optnone uwtable
define linkonce_odr dso_local void @_ZN4coro12promise_type15initial_suspendEv(%"struct.coro::promise_type"* %this) #0 comdat align 2 !dbg !692 {
entry:
%this.addr = alloca %"struct.coro::promise_type"*, align 8
store %"struct.coro::promise_type"* %this, %"struct.coro::promise_type"** %this.addr, align 8
call void @llvm.dbg.declare(metadata %"struct.coro::promise_type"** %this.addr, metadata !693, metadata !DIExpression()), !dbg !694
%this1 = load %"struct.coro::promise_type"*, %"struct.coro::promise_type"** %this.addr, align 8
ret void, !dbg !695
}
; Function Attrs: noinline nounwind optnone uwtable
define linkonce_odr hidden zeroext i1 @_ZNKSt12experimental13coroutines_v113suspend_never11await_readyEv(%"struct.std::experimental::coroutines_v1::suspend_never"* %this) #0 comdat align 2 !dbg !696 {
entry:
%this.addr = alloca %"struct.std::experimental::coroutines_v1::suspend_never"*, align 8
store %"struct.std::experimental::coroutines_v1::suspend_never"* %this, %"struct.std::experimental::coroutines_v1::suspend_never"** %this.addr, align 8
call void @llvm.dbg.declare(metadata %"struct.std::experimental::coroutines_v1::suspend_never"** %this.addr, metadata !697, metadata !DIExpression()), !dbg !699
%this1 = load %"struct.std::experimental::coroutines_v1::suspend_never"*, %"struct.std::experimental::coroutines_v1::suspend_never"** %this.addr, align 8
ret i1 true, !dbg !700
}
; Function Attrs: nounwind
declare token @llvm.coro.save(i8*) #2
; Function Attrs: noinline nounwind optnone uwtable
define linkonce_odr hidden void @_ZNKSt12experimental13coroutines_v113suspend_never13await_suspendENS0_16coroutine_handleIvEE(%"struct.std::experimental::coroutines_v1::suspend_never"* %this, i8* %.coerce) #0 comdat align 2 !dbg !701 {
entry:
%0 = alloca %"class.std::experimental::coroutines_v1::coroutine_handle.0", align 8
%this.addr = alloca %"struct.std::experimental::coroutines_v1::suspend_never"*, align 8
%coerce.dive = getelementptr inbounds %"class.std::experimental::coroutines_v1::coroutine_handle.0", %"class.std::experimental::coroutines_v1::coroutine_handle.0"* %0, i32 0, i32 0
store i8* %.coerce, i8** %coerce.dive, align 8
store %"struct.std::experimental::coroutines_v1::suspend_never"* %this, %"struct.std::experimental::coroutines_v1::suspend_never"** %this.addr, align 8
call void @llvm.dbg.declare(metadata %"struct.std::experimental::coroutines_v1::suspend_never"** %this.addr, metadata !702, metadata !DIExpression()), !dbg !703
call void @llvm.dbg.declare(metadata %"class.std::experimental::coroutines_v1::coroutine_handle.0"* %0, metadata !704, metadata !DIExpression()), !dbg !705
%this1 = load %"struct.std::experimental::coroutines_v1::suspend_never"*, %"struct.std::experimental::coroutines_v1::suspend_never"** %this.addr, align 8
ret void, !dbg !706
}
; Function Attrs: noinline nounwind optnone uwtable
define linkonce_odr hidden i8* @_ZNSt12experimental13coroutines_v116coroutine_handleIN4coro12promise_typeEE12from_addressEPv(i8* %__addr) #0 comdat align 2 !dbg !707 {
entry:
%retval = alloca %"class.std::experimental::coroutines_v1::coroutine_handle", align 8
%__addr.addr = alloca i8*, align 8
store i8* %__addr, i8** %__addr.addr, align 8
call void @llvm.dbg.declare(metadata i8** %__addr.addr, metadata !708, metadata !DIExpression()), !dbg !709
call void @llvm.dbg.declare(metadata %"class.std::experimental::coroutines_v1::coroutine_handle"* %retval, metadata !710, metadata !DIExpression()), !dbg !711
call void @_ZNSt12experimental13coroutines_v116coroutine_handleIN4coro12promise_typeEEC2Ev(%"class.std::experimental::coroutines_v1::coroutine_handle"* %retval) #2, !dbg !711
%0 = load i8*, i8** %__addr.addr, align 8, !dbg !712
%1 = bitcast %"class.std::experimental::coroutines_v1::coroutine_handle"* %retval to %"class.std::experimental::coroutines_v1::coroutine_handle.0"*, !dbg !713
%__handle_ = getelementptr inbounds %"class.std::experimental::coroutines_v1::coroutine_handle.0", %"class.std::experimental::coroutines_v1::coroutine_handle.0"* %1, i32 0, i32 0, !dbg !714
store i8* %0, i8** %__handle_, align 8, !dbg !715
%coerce.dive = getelementptr inbounds %"class.std::experimental::coroutines_v1::coroutine_handle", %"class.std::experimental::coroutines_v1::coroutine_handle"* %retval, i32 0, i32 0, !dbg !716
%coerce.dive1 = getelementptr inbounds %"class.std::experimental::coroutines_v1::coroutine_handle.0", %"class.std::experimental::coroutines_v1::coroutine_handle.0"* %coerce.dive, i32 0, i32 0, !dbg !716
%2 = load i8*, i8** %coerce.dive1, align 8, !dbg !716
ret i8* %2, !dbg !716
}
; Function Attrs: nounwind
declare i8 @llvm.coro.suspend(token, i1) #2
; Function Attrs: noinline nounwind optnone uwtable
define linkonce_odr hidden void @_ZNKSt12experimental13coroutines_v113suspend_never12await_resumeEv(%"struct.std::experimental::coroutines_v1::suspend_never"* %this) #0 comdat align 2 !dbg !717 {
entry:
%this.addr = alloca %"struct.std::experimental::coroutines_v1::suspend_never"*, align 8
store %"struct.std::experimental::coroutines_v1::suspend_never"* %this, %"struct.std::experimental::coroutines_v1::suspend_never"** %this.addr, align 8
call void @llvm.dbg.declare(metadata %"struct.std::experimental::coroutines_v1::suspend_never"** %this.addr, metadata !718, metadata !DIExpression()), !dbg !719
%this1 = load %"struct.std::experimental::coroutines_v1::suspend_never"*, %"struct.std::experimental::coroutines_v1::suspend_never"** %this.addr, align 8
ret void, !dbg !720
}
declare dso_local i32 @printf(i8*, ...) #7
; Function Attrs: noinline nounwind optnone uwtable
define linkonce_odr hidden zeroext i1 @_ZNKSt12experimental13coroutines_v114suspend_always11await_readyEv(%"struct.std::experimental::coroutines_v1::suspend_always"* %this) #0 comdat align 2 !dbg !721 {
entry:
%this.addr = alloca %"struct.std::experimental::coroutines_v1::suspend_always"*, align 8
store %"struct.std::experimental::coroutines_v1::suspend_always"* %this, %"struct.std::experimental::coroutines_v1::suspend_always"** %this.addr, align 8
call void @llvm.dbg.declare(metadata %"struct.std::experimental::coroutines_v1::suspend_always"** %this.addr, metadata !735, metadata !DIExpression()), !dbg !737
%this1 = load %"struct.std::experimental::coroutines_v1::suspend_always"*, %"struct.std::experimental::coroutines_v1::suspend_always"** %this.addr, align 8
ret i1 false, !dbg !738
}
; Function Attrs: noinline nounwind optnone uwtable
define linkonce_odr hidden void @_ZNKSt12experimental13coroutines_v114suspend_always13await_suspendENS0_16coroutine_handleIvEE(%"struct.std::experimental::coroutines_v1::suspend_always"* %this, i8* %.coerce) #0 comdat align 2 !dbg !739 {
entry:
%0 = alloca %"class.std::experimental::coroutines_v1::coroutine_handle.0", align 8
%this.addr = alloca %"struct.std::experimental::coroutines_v1::suspend_always"*, align 8
%coerce.dive = getelementptr inbounds %"class.std::experimental::coroutines_v1::coroutine_handle.0", %"class.std::experimental::coroutines_v1::coroutine_handle.0"* %0, i32 0, i32 0
store i8* %.coerce, i8** %coerce.dive, align 8
store %"struct.std::experimental::coroutines_v1::suspend_always"* %this, %"struct.std::experimental::coroutines_v1::suspend_always"** %this.addr, align 8
call void @llvm.dbg.declare(metadata %"struct.std::experimental::coroutines_v1::suspend_always"** %this.addr, metadata !740, metadata !DIExpression()), !dbg !741
call void @llvm.dbg.declare(metadata %"class.std::experimental::coroutines_v1::coroutine_handle.0"* %0, metadata !742, metadata !DIExpression()), !dbg !743
%this1 = load %"struct.std::experimental::coroutines_v1::suspend_always"*, %"struct.std::experimental::coroutines_v1::suspend_always"** %this.addr, align 8
ret void, !dbg !744
}
; Function Attrs: noinline nounwind optnone uwtable
define linkonce_odr hidden void @_ZNKSt12experimental13coroutines_v114suspend_always12await_resumeEv(%"struct.std::experimental::coroutines_v1::suspend_always"* %this) #0 comdat align 2 !dbg !745 {
entry:
%this.addr = alloca %"struct.std::experimental::coroutines_v1::suspend_always"*, align 8
store %"struct.std::experimental::coroutines_v1::suspend_always"* %this, %"struct.std::experimental::coroutines_v1::suspend_always"** %this.addr, align 8
call void @llvm.dbg.declare(metadata %"struct.std::experimental::coroutines_v1::suspend_always"** %this.addr, metadata !746, metadata !DIExpression()), !dbg !747
%this1 = load %"struct.std::experimental::coroutines_v1::suspend_always"*, %"struct.std::experimental::coroutines_v1::suspend_always"** %this.addr, align 8
ret void, !dbg !748
}
; Function Attrs: noinline nounwind optnone uwtable
define linkonce_odr dso_local void @_ZN4coro12promise_type11return_voidEv(%"struct.coro::promise_type"* %this) #0 comdat align 2 !dbg !749 {
entry:
%this.addr = alloca %"struct.coro::promise_type"*, align 8
store %"struct.coro::promise_type"* %this, %"struct.coro::promise_type"** %this.addr, align 8
call void @llvm.dbg.declare(metadata %"struct.coro::promise_type"** %this.addr, metadata !750, metadata !DIExpression()), !dbg !751
%this1 = load %"struct.coro::promise_type"*, %"struct.coro::promise_type"** %this.addr, align 8
ret void, !dbg !752
}
; Function Attrs: noinline nounwind optnone uwtable
define linkonce_odr dso_local void @_ZN4coro12promise_type13final_suspendEv(%"struct.coro::promise_type"* %this) #0 comdat align 2 !dbg !753 {
entry:
%this.addr = alloca %"struct.coro::promise_type"*, align 8
store %"struct.coro::promise_type"* %this, %"struct.coro::promise_type"** %this.addr, align 8
call void @llvm.dbg.declare(metadata %"struct.coro::promise_type"** %this.addr, metadata !754, metadata !DIExpression()), !dbg !755
%this1 = load %"struct.coro::promise_type"*, %"struct.coro::promise_type"** %this.addr, align 8
ret void, !dbg !756
}
; Function Attrs: nobuiltin nounwind
declare dso_local void @_ZdlPv(i8*) #8
; Function Attrs: argmemonly nounwind readonly
declare i8* @llvm.coro.free(token, i8* nocapture readonly) #1
; Function Attrs: nounwind
declare i1 @llvm.coro.end(i8*, i1) #2
; Function Attrs: noinline norecurse nounwind optnone uwtable
define dso_local i32 @main() #9 !dbg !757 {
entry:
%c = alloca %struct.coro, align 8
call void @llvm.dbg.declare(metadata %struct.coro* %c, metadata !758, metadata !DIExpression()), !dbg !759
%call = call i8* @_Z3foov(), !dbg !760
%coerce.dive = getelementptr inbounds %struct.coro, %struct.coro* %c, i32 0, i32 0, !dbg !760
%coerce.dive1 = getelementptr inbounds %"class.std::experimental::coroutines_v1::coroutine_handle", %"class.std::experimental::coroutines_v1::coroutine_handle"* %coerce.dive, i32 0, i32 0, !dbg !760
%coerce.dive2 = getelementptr inbounds %"class.std::experimental::coroutines_v1::coroutine_handle.0", %"class.std::experimental::coroutines_v1::coroutine_handle.0"* %coerce.dive1, i32 0, i32 0, !dbg !760
store i8* %call, i8** %coerce.dive2, align 8, !dbg !760
%handle = getelementptr inbounds %struct.coro, %struct.coro* %c, i32 0, i32 0, !dbg !761
%0 = bitcast %"class.std::experimental::coroutines_v1::coroutine_handle"* %handle to %"class.std::experimental::coroutines_v1::coroutine_handle.0"*, !dbg !762
call void @_ZNSt12experimental13coroutines_v116coroutine_handleIvE6resumeEv(%"class.std::experimental::coroutines_v1::coroutine_handle.0"* %0), !dbg !763
%handle3 = getelementptr inbounds %struct.coro, %struct.coro* %c, i32 0, i32 0, !dbg !764
%1 = bitcast %"class.std::experimental::coroutines_v1::coroutine_handle"* %handle3 to %"class.std::experimental::coroutines_v1::coroutine_handle.0"*, !dbg !765
call void @_ZNSt12experimental13coroutines_v116coroutine_handleIvE6resumeEv(%"class.std::experimental::coroutines_v1::coroutine_handle.0"* %1), !dbg !766
ret i32 0, !dbg !767
}
; Function Attrs: noinline nounwind optnone uwtable
define linkonce_odr hidden void @_ZNSt12experimental13coroutines_v116coroutine_handleIvE6resumeEv(%"class.std::experimental::coroutines_v1::coroutine_handle.0"* %this) #0 comdat align 2 !dbg !768 {
entry:
%this.addr = alloca %"class.std::experimental::coroutines_v1::coroutine_handle.0"*, align 8
store %"class.std::experimental::coroutines_v1::coroutine_handle.0"* %this, %"class.std::experimental::coroutines_v1::coroutine_handle.0"** %this.addr, align 8
call void @llvm.dbg.declare(metadata %"class.std::experimental::coroutines_v1::coroutine_handle.0"** %this.addr, metadata !769, metadata !DIExpression()), !dbg !771
%this1 = load %"class.std::experimental::coroutines_v1::coroutine_handle.0"*, %"class.std::experimental::coroutines_v1::coroutine_handle.0"** %this.addr, align 8
%__handle_ = getelementptr inbounds %"class.std::experimental::coroutines_v1::coroutine_handle.0", %"class.std::experimental::coroutines_v1::coroutine_handle.0"* %this1, i32 0, i32 0, !dbg !772
%0 = load i8*, i8** %__handle_, align 8, !dbg !772
%1 = bitcast i8* %0 to { i8*, i8* }*
%2 = getelementptr inbounds { i8*, i8* }, { i8*, i8* }* %1, i32 0, i32 0
%3 = load i8*, i8** %2
%4 = bitcast i8* %3 to void (i8*)*
call fastcc void %4(i8* %0), !dbg !773
ret void, !dbg !774
}
; Function Attrs: noinline nounwind optnone uwtable
define linkonce_odr hidden i8* @_ZNSt12experimental13coroutines_v116coroutine_handleIN4coro12promise_typeEE12from_promiseERS3_(%"struct.coro::promise_type"* dereferenceable(1) %__promise) #0 comdat align 2 !dbg !775 {
entry:
%retval = alloca %"class.std::experimental::coroutines_v1::coroutine_handle", align 8
%__promise.addr = alloca %"struct.coro::promise_type"*, align 8
store %"struct.coro::promise_type"* %__promise, %"struct.coro::promise_type"** %__promise.addr, align 8
call void @llvm.dbg.declare(metadata %"struct.coro::promise_type"** %__promise.addr, metadata !776, metadata !DIExpression()), !dbg !777
call void @llvm.dbg.declare(metadata %"class.std::experimental::coroutines_v1::coroutine_handle"* %retval, metadata !778, metadata !DIExpression()), !dbg !779
call void @_ZNSt12experimental13coroutines_v116coroutine_handleIN4coro12promise_typeEEC2Ev(%"class.std::experimental::coroutines_v1::coroutine_handle"* %retval) #2, !dbg !779
%0 = load %"struct.coro::promise_type"*, %"struct.coro::promise_type"** %__promise.addr, align 8, !dbg !780
%call = call %"struct.coro::promise_type"* @_ZNSt3__19addressofIN4coro12promise_typeEEEPT_RS3_(%"struct.coro::promise_type"* dereferenceable(1) %0) #2, !dbg !781
%1 = bitcast %"struct.coro::promise_type"* %call to i8*, !dbg !781
%2 = getelementptr inbounds i8, i8* %1, i32 -16, !dbg !782
%3 = bitcast %"class.std::experimental::coroutines_v1::coroutine_handle"* %retval to %"class.std::experimental::coroutines_v1::coroutine_handle.0"*, !dbg !783
%__handle_ = getelementptr inbounds %"class.std::experimental::coroutines_v1::coroutine_handle.0", %"class.std::experimental::coroutines_v1::coroutine_handle.0"* %3, i32 0, i32 0, !dbg !784
store i8* %2, i8** %__handle_, align 8, !dbg !785
%coerce.dive = getelementptr inbounds %"class.std::experimental::coroutines_v1::coroutine_handle", %"class.std::experimental::coroutines_v1::coroutine_handle"* %retval, i32 0, i32 0, !dbg !786
%coerce.dive1 = getelementptr inbounds %"class.std::experimental::coroutines_v1::coroutine_handle.0", %"class.std::experimental::coroutines_v1::coroutine_handle.0"* %coerce.dive, i32 0, i32 0, !dbg !786
%4 = load i8*, i8** %coerce.dive1, align 8, !dbg !786
ret i8* %4, !dbg !786
}
; Function Attrs: noinline nounwind optnone uwtable
define linkonce_odr dso_local void @_ZN4coroC2ENSt12experimental13coroutines_v116coroutine_handleINS_12promise_typeEEE(%struct.coro* %this, i8* %handle.coerce) unnamed_addr #0 comdat align 2 !dbg !787 {
entry:
%handle = alloca %"class.std::experimental::coroutines_v1::coroutine_handle", align 8
%this.addr = alloca %struct.coro*, align 8
%coerce.dive = getelementptr inbounds %"class.std::experimental::coroutines_v1::coroutine_handle", %"class.std::experimental::coroutines_v1::coroutine_handle"* %handle, i32 0, i32 0
%coerce.dive1 = getelementptr inbounds %"class.std::experimental::coroutines_v1::coroutine_handle.0", %"class.std::experimental::coroutines_v1::coroutine_handle.0"* %coerce.dive, i32 0, i32 0
store i8* %handle.coerce, i8** %coerce.dive1, align 8
store %struct.coro* %this, %struct.coro** %this.addr, align 8
call void @llvm.dbg.declare(metadata %struct.coro** %this.addr, metadata !788, metadata !DIExpression()), !dbg !790
call void @llvm.dbg.declare(metadata %"class.std::experimental::coroutines_v1::coroutine_handle"* %handle, metadata !791, metadata !DIExpression()), !dbg !792
%this2 = load %struct.coro*, %struct.coro** %this.addr, align 8
%handle3 = getelementptr inbounds %struct.coro, %struct.coro* %this2, i32 0, i32 0, !dbg !793
%0 = bitcast %"class.std::experimental::coroutines_v1::coroutine_handle"* %handle3 to i8*, !dbg !793
%1 = bitcast %"class.std::experimental::coroutines_v1::coroutine_handle"* %handle to i8*, !dbg !793
call void @llvm.memcpy.p0i8.p0i8.i64(i8* align 8 %0, i8* align 8 %1, i64 8, i1 false), !dbg !793
ret void, !dbg !794
}
; Function Attrs: noinline nounwind optnone uwtable
define linkonce_odr dso_local void @_ZNSt12experimental13coroutines_v116coroutine_handleIN4coro12promise_typeEEC2Ev(%"class.std::experimental::coroutines_v1::coroutine_handle"* %this) unnamed_addr #0 comdat align 2 !dbg !795 {
entry:
%this.addr = alloca %"class.std::experimental::coroutines_v1::coroutine_handle"*, align 8
store %"class.std::experimental::coroutines_v1::coroutine_handle"* %this, %"class.std::experimental::coroutines_v1::coroutine_handle"** %this.addr, align 8
call void @llvm.dbg.declare(metadata %"class.std::experimental::coroutines_v1::coroutine_handle"** %this.addr, metadata !799, metadata !DIExpression()), !dbg !801
%this1 = load %"class.std::experimental::coroutines_v1::coroutine_handle"*, %"class.std::experimental::coroutines_v1::coroutine_handle"** %this.addr, align 8
%0 = bitcast %"class.std::experimental::coroutines_v1::coroutine_handle"* %this1 to %"class.std::experimental::coroutines_v1::coroutine_handle.0"*, !dbg !802
call void @_ZNSt12experimental13coroutines_v116coroutine_handleIvEC2Ev(%"class.std::experimental::coroutines_v1::coroutine_handle.0"* %0) #2, !dbg !802
ret void, !dbg !802
}
; Function Attrs: noinline nounwind optnone uwtable
define linkonce_odr hidden %"struct.coro::promise_type"* @_ZNSt3__19addressofIN4coro12promise_typeEEEPT_RS3_(%"struct.coro::promise_type"* dereferenceable(1) %__x) #0 comdat !dbg !803 {
entry:
%__x.addr = alloca %"struct.coro::promise_type"*, align 8
store %"struct.coro::promise_type"* %__x, %"struct.coro::promise_type"** %__x.addr, align 8
call void @llvm.dbg.declare(metadata %"struct.coro::promise_type"** %__x.addr, metadata !809, metadata !DIExpression()), !dbg !810
%0 = load %"struct.coro::promise_type"*, %"struct.coro::promise_type"** %__x.addr, align 8, !dbg !811
ret %"struct.coro::promise_type"* %0, !dbg !812
}
; Function Attrs: nounwind readnone
declare i8* @llvm.coro.promise(i8* nocapture, i32, i1) #4
; Function Attrs: noinline nounwind optnone uwtable
define linkonce_odr hidden void @_ZNSt12experimental13coroutines_v116coroutine_handleIvEC2Ev(%"class.std::experimental::coroutines_v1::coroutine_handle.0"* %this) unnamed_addr #0 comdat align 2 !dbg !813 {
entry:
%this.addr = alloca %"class.std::experimental::coroutines_v1::coroutine_handle.0"*, align 8
store %"class.std::experimental::coroutines_v1::coroutine_handle.0"* %this, %"class.std::experimental::coroutines_v1::coroutine_handle.0"** %this.addr, align 8
call void @llvm.dbg.declare(metadata %"class.std::experimental::coroutines_v1::coroutine_handle.0"** %this.addr, metadata !814, metadata !DIExpression()), !dbg !815
%this1 = load %"class.std::experimental::coroutines_v1::coroutine_handle.0"*, %"class.std::experimental::coroutines_v1::coroutine_handle.0"** %this.addr, align 8
%__handle_ = getelementptr inbounds %"class.std::experimental::coroutines_v1::coroutine_handle.0", %"class.std::experimental::coroutines_v1::coroutine_handle.0"* %this1, i32 0, i32 0, !dbg !816
store i8* null, i8** %__handle_,
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment