https://gcc.gnu.org/bugzilla/show_bug.cgi?id=109682

            Bug ID: 109682
           Summary: coroutines: ICE in morph_fn_to_coro on wrong return
                    type for get_return_object_on_allocation_failure
           Product: gcc
           Version: 14.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: c++
          Assignee: unassigned at gcc dot gnu.org
          Reporter: dv at vollmann dot ch
  Target Milestone: ---

Created attachment 54961
  --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=54961&action=edit
Preprocessed source

Returning not the expected return type from
get_return_object_on_allocation_failure causes an internal compiler error:

g++ -std=c++23 wrong-promise-type-ice.cc
wrong-promise-type-ice.cc: In function 'CoHandle produce(QType&)':
wrong-promise-type-ice.cc:155:1: internal compiler error: in morph_fn_to_coro,
at cp/coroutines.cc:4766
  155 | }
      | ^
0x70d904 morph_fn_to_coro(tree_node*, tree_node**, tree_node**)
        /build/src/gcc/gcc/cp/coroutines.cc:4766
0xa65905 finish_function(bool)
        /build/src/gcc/gcc/cp/decl.cc:18082
0xb64697 cp_parser_function_definition_after_declarator
        /build/src/gcc/gcc/cp/parser.cc:32049
0xb65b73 cp_parser_function_definition_from_specifiers_and_declarator
        /build/src/gcc/gcc/cp/parser.cc:31963
0xb65b73 cp_parser_init_declarator
        /build/src/gcc/gcc/cp/parser.cc:22822
0xb3a178 cp_parser_simple_declaration
        /build/src/gcc/gcc/cp/parser.cc:15435
0xb70353 cp_parser_declaration
        /build/src/gcc/gcc/cp/parser.cc:15121
0xb70e4a cp_parser_toplevel_declaration
        /build/src/gcc/gcc/cp/parser.cc:15142
0xb70e4a cp_parser_translation_unit
        /build/src/gcc/gcc/cp/parser.cc:5131
0xb70e4a c_parse_file()
        /build/src/gcc/gcc/cp/parser.cc:49627
0xcaf411 c_common_parse_file()
        /build/src/gcc/gcc/c-family/c-opts.cc:1248

Version:
GNU C++23 (GCC) version 14.0.0 20230430 (experimental) (x86_64-pc-linux-gnu)

Configured with: /build/src/gcc/configure --prefix=/opt/native/gcc
--disable-nls --enable-languages=c,c++

Reply via email to