public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug c++/109227] New: coroutines: ICE in tree check: expected record_type or union_type or qual_union_type, have array_type in build_special_member_call, at cp/call.cc:11067
@ 2023-03-21  8:03 marxin at gcc dot gnu.org
  2023-03-21  8:03 ` [Bug c++/109227] " marxin at gcc dot gnu.org
                   ` (10 more replies)
  0 siblings, 11 replies; 12+ messages in thread
From: marxin at gcc dot gnu.org @ 2023-03-21  8:03 UTC (permalink / raw)
  To: gcc-bugs

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

            Bug ID: 109227
           Summary: coroutines: ICE in tree check: expected record_type or
                    union_type or qual_union_type, have array_type in
                    build_special_member_call, at cp/call.cc:11067
           Product: gcc
           Version: 13.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: c++
          Assignee: unassigned at gcc dot gnu.org
          Reporter: marxin at gcc dot gnu.org
                CC: avi at scylladb dot com, iains at gcc dot gnu.org, jason at gcc dot gnu.org
  Target Milestone: ---

It's probably similar to PR98056 and it's reduced from ScyllaDB:

$ g++ bad.cc -c -std=gnu++20
bad.cc: In member function ‘future<boost::basic_result<void,
utils::exception_container<>, utils::exception_container_throw_policy> >
cql3::statements::indexed_table_select_statement::do_execute_base_query(cql3::query_processor&,
std::vector<cql3::statements::primary_key>&&, service::query_state&, const
{anonymous}::query_options&, gc_clock::time_point, lw_shared_ptr<const
service::pager::paging_state>) const’:
bad.cc:273:1: warning: no return statement in function returning non-void
[-Wreturn-type]
  273 | }
      | ^
bad.cc: In instantiation of
‘cql3::statements::indexed_table_select_statement::do_execute_base_query(cql3::query_processor&,
std::vector<cql3::statements::primary_key>&&, service::query_state&, const
{anonymous}::query_options&, gc_clock::time_point, lw_shared_ptr<const
service::pager::paging_state>) const::<lambda(auto:1)> [with auto:1 =
cql3::statements::primary_key]’:
bad.cc:39:11:   required from ‘void std::__invoke(_Callable, _Args ...) [with
_Callable =
cql3::statements::indexed_table_select_statement::do_execute_base_query(cql3::query_processor&,
std::vector<cql3::statements::primary_key>&&, service::query_state&, const
{anonymous}::query_options&, gc_clock::time_point, lw_shared_ptr<const
service::pager::paging_state>) const::<lambda(auto:1)>; _Args =
{cql3::statements::primary_key}]’
bad.cc:67:11:   required from ‘void std::invoke(_Callable, _Args ...) [with
_Callable =
cql3::statements::indexed_table_select_statement::do_execute_base_query(cql3::query_processor&,
std::vector<cql3::statements::primary_key>&&, service::query_state&, const
{anonymous}::query_options&, gc_clock::time_point, lw_shared_ptr<const
service::pager::paging_state>) const::<lambda(auto:1)>; _Args =
{cql3::statements::primary_key}]’
bad.cc:158:16:   required from ‘auto coroutine::lambda<Func>::operator()(Args
...) [with Args = {cql3::statements::primary_key}; Func =
cql3::statements::indexed_table_select_statement::do_execute_base_query(cql3::query_processor&,
std::vector<cql3::statements::primary_key>&&, service::query_state&, const
{anonymous}::query_options&, gc_clock::time_point, lw_shared_ptr<const
service::pager::paging_state>) const::<lambda(auto:1)>]’
bad.cc:10:39:   required from ‘struct std::__result_of_impl<false, false,
coroutine::lambda<cql3::statements::indexed_table_select_statement::do_execute_base_query(cql3::query_processor&,
std::vector<cql3::statements::primary_key>&&, service::query_state&, const
{anonymous}::query_options&, gc_clock::time_point, lw_shared_ptr<const
service::pager::paging_state>) const::<lambda(auto:1)> >,
cql3::statements::primary_key>’
bad.cc:16:8:   required from ‘struct
std::__invoke_result<coroutine::lambda<cql3::statements::indexed_table_select_statement::do_execute_base_query(cql3::query_processor&,
std::vector<cql3::statements::primary_key>&&, service::query_state&, const
{anonymous}::query_options&, gc_clock::time_point, lw_shared_ptr<const
service::pager::paging_state>) const::<lambda(auto:1)> >,
cql3::statements::primary_key>’
bad.cc:83:56:   required from ‘void futurize_invoke(Func, Args ...) [with Func
=
coroutine::lambda<cql3::statements::indexed_table_select_statement::do_execute_base_query(cql3::query_processor&,
std::vector<cql3::statements::primary_key>&&, service::query_state&, const
{anonymous}::query_options&, gc_clock::time_point, lw_shared_ptr<const
service::pager::paging_state>) const::<lambda(auto:1)> >; Args =
{cql3::statements::primary_key}]’
bad.cc:240:18:   required from ‘void utils::result_map_reduce(Iterator,
Iterator, Mapper, Reducer) [with Iterator =
__normal_iterator<cql3::statements::primary_key*>; Mapper =
coroutine::lambda<cql3::statements::indexed_table_select_statement::do_execute_base_query(cql3::query_processor&,
std::vector<cql3::statements::primary_key>&&, service::query_state&, const
{anonymous}::query_options&, gc_clock::time_point, lw_shared_ptr<const
service::pager::paging_state>) const::<lambda(auto:1)> >; Reducer = void
(*)()]’
bad.cc:259:27:   required from here
bad.cc:271:11: internal compiler error: tree check: expected record_type or
union_type or qual_union_type, have array_type in build_special_member_call, at
cp/call.cc:11067
  271 |           }),
      |           ^
0x87916a tree_check_failed(tree_node const*, char const*, int, char const*,
...)
        /home/marxin/Programming/gcc/gcc/tree.cc:8881
0x96c34b tree_check3(tree_node*, char const*, int, char const*, tree_code,
tree_code, tree_code)
        /home/marxin/Programming/gcc/gcc/tree.h:3580
0x95f539 build_special_member_call(tree_node*, tree_node*, vec<tree_node*,
va_gc, vl_embed>**, tree_node*, int, int)
        /home/marxin/Programming/gcc/gcc/cp/call.cc:11067
0x9c16a7 maybe_promote_temps
        /home/marxin/Programming/gcc/gcc/cp/coroutines.cc:3146
0x9c16a7 await_statement_walker
        /home/marxin/Programming/gcc/gcc/cp/coroutines.cc:3757
0x149b05d walk_tree_1(tree_node**, tree_node* (*)(tree_node**, int*, void*),
void*, hash_set<tree_node*, false, default_hash_traits<tree_node*> >*,
tree_node* (*)(tree_node**, int*, tree_node* (*)(tree_node**, int*, void*),
void*, hash_set<tree_node*, false, default_hash_traits<tree_node*> >*))
        /home/marxin/Programming/gcc/gcc/tree.cc:11327
0x9c1198 await_statement_walker
        /home/marxin/Programming/gcc/gcc/cp/coroutines.cc:3428
0x149b05d walk_tree_1(tree_node**, tree_node* (*)(tree_node**, int*, void*),
void*, hash_set<tree_node*, false, default_hash_traits<tree_node*> >*,
tree_node* (*)(tree_node**, int*, tree_node* (*)(tree_node**, int*, void*),
void*, hash_set<tree_node*, false, default_hash_traits<tree_node*> >*))
        /home/marxin/Programming/gcc/gcc/tree.cc:11327
0x9c129c await_statement_walker
        /home/marxin/Programming/gcc/gcc/cp/coroutines.cc:3417
0x149b05d walk_tree_1(tree_node**, tree_node* (*)(tree_node**, int*, void*),
void*, hash_set<tree_node*, false, default_hash_traits<tree_node*> >*,
tree_node* (*)(tree_node**, int*, tree_node* (*)(tree_node**, int*, void*),
void*, hash_set<tree_node*, false, default_hash_traits<tree_node*> >*))
        /home/marxin/Programming/gcc/gcc/tree.cc:11327
0x9c1198 await_statement_walker
        /home/marxin/Programming/gcc/gcc/cp/coroutines.cc:3428
0x149b05d walk_tree_1(tree_node**, tree_node* (*)(tree_node**, int*, void*),
void*, hash_set<tree_node*, false, default_hash_traits<tree_node*> >*,
tree_node* (*)(tree_node**, int*, tree_node* (*)(tree_node**, int*, void*),
void*, hash_set<tree_node*, false, default_hash_traits<tree_node*> >*))
        /home/marxin/Programming/gcc/gcc/tree.cc:11327
0x9c129c await_statement_walker
        /home/marxin/Programming/gcc/gcc/cp/coroutines.cc:3417
0x149b05d walk_tree_1(tree_node**, tree_node* (*)(tree_node**, int*, void*),
void*, hash_set<tree_node*, false, default_hash_traits<tree_node*> >*,
tree_node* (*)(tree_node**, int*, tree_node* (*)(tree_node**, int*, void*),
void*, hash_set<tree_node*, false, default_hash_traits<tree_node*> >*))
        /home/marxin/Programming/gcc/gcc/tree.cc:11327
0x9c1198 await_statement_walker
        /home/marxin/Programming/gcc/gcc/cp/coroutines.cc:3428
0x149b05d walk_tree_1(tree_node**, tree_node* (*)(tree_node**, int*, void*),
void*, hash_set<tree_node*, false, default_hash_traits<tree_node*> >*,
tree_node* (*)(tree_node**, int*, tree_node* (*)(tree_node**, int*, void*),
void*, hash_set<tree_node*, false, default_hash_traits<tree_node*> >*))
        /home/marxin/Programming/gcc/gcc/tree.cc:11327
0x149b25f walk_tree_1(tree_node**, tree_node* (*)(tree_node**, int*, void*),
void*, hash_set<tree_node*, false, default_hash_traits<tree_node*> >*,
tree_node* (*)(tree_node**, int*, tree_node* (*)(tree_node**, int*, void*),
void*, hash_set<tree_node*, false, default_hash_traits<tree_node*> >*))
        /home/marxin/Programming/gcc/gcc/tree.cc:11558
0x9c1198 await_statement_walker
        /home/marxin/Programming/gcc/gcc/cp/coroutines.cc:3428
0x149b05d walk_tree_1(tree_node**, tree_node* (*)(tree_node**, int*, void*),
void*, hash_set<tree_node*, false, default_hash_traits<tree_node*> >*,
tree_node* (*)(tree_node**, int*, tree_node* (*)(tree_node**, int*, void*),
void*, hash_set<tree_node*, false, default_hash_traits<tree_node*> >*))
        /home/marxin/Programming/gcc/gcc/tree.cc:11327
0x9c129c await_statement_walker
        /home/marxin/Programming/gcc/gcc/cp/coroutines.cc:3417
Please submit a full bug report, with preprocessed source (by using
-freport-bug).
Please include the complete backtrace with any bug report.
See <https://gcc.gnu.org/bugs/> for instructions.

^ permalink raw reply	[flat|nested] 12+ messages in thread

* [Bug c++/109227] coroutines: ICE in tree check: expected record_type or union_type or qual_union_type, have array_type in build_special_member_call, at cp/call.cc:11067
  2023-03-21  8:03 [Bug c++/109227] New: coroutines: ICE in tree check: expected record_type or union_type or qual_union_type, have array_type in build_special_member_call, at cp/call.cc:11067 marxin at gcc dot gnu.org
@ 2023-03-21  8:03 ` marxin at gcc dot gnu.org
  2023-03-21  8:18 ` avi at scylladb dot com
                   ` (9 subsequent siblings)
  10 siblings, 0 replies; 12+ messages in thread
From: marxin at gcc dot gnu.org @ 2023-03-21  8:03 UTC (permalink / raw)
  To: gcc-bugs

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

Martin Liška <marxin at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
           See Also|                            |https://gcc.gnu.org/bugzill
                   |                            |a/show_bug.cgi?id=98056
     Ever confirmed|0                           |1
             Status|UNCONFIRMED                 |NEW
   Last reconfirmed|                            |2023-03-21

^ permalink raw reply	[flat|nested] 12+ messages in thread

* [Bug c++/109227] coroutines: ICE in tree check: expected record_type or union_type or qual_union_type, have array_type in build_special_member_call, at cp/call.cc:11067
  2023-03-21  8:03 [Bug c++/109227] New: coroutines: ICE in tree check: expected record_type or union_type or qual_union_type, have array_type in build_special_member_call, at cp/call.cc:11067 marxin at gcc dot gnu.org
  2023-03-21  8:03 ` [Bug c++/109227] " marxin at gcc dot gnu.org
@ 2023-03-21  8:18 ` avi at scylladb dot com
  2023-03-21  8:41 ` marxin at gcc dot gnu.org
                   ` (8 subsequent siblings)
  10 siblings, 0 replies; 12+ messages in thread
From: avi at scylladb dot com @ 2023-03-21  8:18 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #1 from Avi Kivity <avi at scylladb dot com> ---
Did you forget to attach bad.cc?

^ permalink raw reply	[flat|nested] 12+ messages in thread

* [Bug c++/109227] coroutines: ICE in tree check: expected record_type or union_type or qual_union_type, have array_type in build_special_member_call, at cp/call.cc:11067
  2023-03-21  8:03 [Bug c++/109227] New: coroutines: ICE in tree check: expected record_type or union_type or qual_union_type, have array_type in build_special_member_call, at cp/call.cc:11067 marxin at gcc dot gnu.org
  2023-03-21  8:03 ` [Bug c++/109227] " marxin at gcc dot gnu.org
  2023-03-21  8:18 ` avi at scylladb dot com
@ 2023-03-21  8:41 ` marxin at gcc dot gnu.org
  2023-05-18 18:27 ` jakub at gcc dot gnu.org
                   ` (7 subsequent siblings)
  10 siblings, 0 replies; 12+ messages in thread
From: marxin at gcc dot gnu.org @ 2023-03-21  8:41 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #2 from Martin Liška <marxin at gcc dot gnu.org> ---
Created attachment 54717
  --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=54717&action=edit
test-case

^ permalink raw reply	[flat|nested] 12+ messages in thread

* [Bug c++/109227] coroutines: ICE in tree check: expected record_type or union_type or qual_union_type, have array_type in build_special_member_call, at cp/call.cc:11067
  2023-03-21  8:03 [Bug c++/109227] New: coroutines: ICE in tree check: expected record_type or union_type or qual_union_type, have array_type in build_special_member_call, at cp/call.cc:11067 marxin at gcc dot gnu.org
                   ` (2 preceding siblings ...)
  2023-03-21  8:41 ` marxin at gcc dot gnu.org
@ 2023-05-18 18:27 ` jakub at gcc dot gnu.org
  2023-10-02 16:52 ` pinskia at gcc dot gnu.org
                   ` (6 subsequent siblings)
  10 siblings, 0 replies; 12+ messages in thread
From: jakub at gcc dot gnu.org @ 2023-05-18 18:27 UTC (permalink / raw)
  To: gcc-bugs

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

Jakub Jelinek <jakub at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |jakub at gcc dot gnu.org

--- Comment #3 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
I guess if var_type is ARRAY_TYPE, then it shouldn't call
build_special_member_call with complete_dtor_identifier, but should do
something like build_vec_delete_1 does around it.
Though, seems coroutines.cc calls build_special_member_call with
complete_dtor_identifier in 12 different spots, which of those could be
ARRAY_TYPEs is unclear to me.

^ permalink raw reply	[flat|nested] 12+ messages in thread

* [Bug c++/109227] coroutines: ICE in tree check: expected record_type or union_type or qual_union_type, have array_type in build_special_member_call, at cp/call.cc:11067
  2023-03-21  8:03 [Bug c++/109227] New: coroutines: ICE in tree check: expected record_type or union_type or qual_union_type, have array_type in build_special_member_call, at cp/call.cc:11067 marxin at gcc dot gnu.org
                   ` (3 preceding siblings ...)
  2023-05-18 18:27 ` jakub at gcc dot gnu.org
@ 2023-10-02 16:52 ` pinskia at gcc dot gnu.org
  2023-10-02 16:53 ` pinskia at gcc dot gnu.org
                   ` (5 subsequent siblings)
  10 siblings, 0 replies; 12+ messages in thread
From: pinskia at gcc dot gnu.org @ 2023-10-02 16:52 UTC (permalink / raw)
  To: gcc-bugs

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

Andrew Pinski <pinskia at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |redboltz at gmail dot com

--- Comment #4 from Andrew Pinski <pinskia at gcc dot gnu.org> ---
*** Bug 110913 has been marked as a duplicate of this bug. ***

^ permalink raw reply	[flat|nested] 12+ messages in thread

* [Bug c++/109227] coroutines: ICE in tree check: expected record_type or union_type or qual_union_type, have array_type in build_special_member_call, at cp/call.cc:11067
  2023-03-21  8:03 [Bug c++/109227] New: coroutines: ICE in tree check: expected record_type or union_type or qual_union_type, have array_type in build_special_member_call, at cp/call.cc:11067 marxin at gcc dot gnu.org
                   ` (4 preceding siblings ...)
  2023-10-02 16:52 ` pinskia at gcc dot gnu.org
@ 2023-10-02 16:53 ` pinskia at gcc dot gnu.org
  2023-10-14 10:46 ` lr.soft.now at gmail dot com
                   ` (4 subsequent siblings)
  10 siblings, 0 replies; 12+ messages in thread
From: pinskia at gcc dot gnu.org @ 2023-10-02 16:53 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #5 from Andrew Pinski <pinskia at gcc dot gnu.org> ---
Created attachment 56031
  --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=56031&action=edit
More reduced testcase from the dup

^ permalink raw reply	[flat|nested] 12+ messages in thread

* [Bug c++/109227] coroutines: ICE in tree check: expected record_type or union_type or qual_union_type, have array_type in build_special_member_call, at cp/call.cc:11067
  2023-03-21  8:03 [Bug c++/109227] New: coroutines: ICE in tree check: expected record_type or union_type or qual_union_type, have array_type in build_special_member_call, at cp/call.cc:11067 marxin at gcc dot gnu.org
                   ` (5 preceding siblings ...)
  2023-10-02 16:53 ` pinskia at gcc dot gnu.org
@ 2023-10-14 10:46 ` lr.soft.now at gmail dot com
  2024-01-25 10:44 ` pinskia at gcc dot gnu.org
                   ` (3 subsequent siblings)
  10 siblings, 0 replies; 12+ messages in thread
From: lr.soft.now at gmail dot com @ 2023-10-14 10:46 UTC (permalink / raw)
  To: gcc-bugs

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

Lev <lr.soft.now at gmail dot com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |lr.soft.now at gmail dot com

--- Comment #6 from Lev <lr.soft.now at gmail dot com> ---
Probably the same bug, but using std::map's constructor that takes an
initializer list.
https://godbolt.org/z/Yavroaddo

^ permalink raw reply	[flat|nested] 12+ messages in thread

* [Bug c++/109227] coroutines: ICE in tree check: expected record_type or union_type or qual_union_type, have array_type in build_special_member_call, at cp/call.cc:11067
  2023-03-21  8:03 [Bug c++/109227] New: coroutines: ICE in tree check: expected record_type or union_type or qual_union_type, have array_type in build_special_member_call, at cp/call.cc:11067 marxin at gcc dot gnu.org
                   ` (6 preceding siblings ...)
  2023-10-14 10:46 ` lr.soft.now at gmail dot com
@ 2024-01-25 10:44 ` pinskia at gcc dot gnu.org
  2024-01-25 19:19 ` jason at gcc dot gnu.org
                   ` (2 subsequent siblings)
  10 siblings, 0 replies; 12+ messages in thread
From: pinskia at gcc dot gnu.org @ 2024-01-25 10:44 UTC (permalink / raw)
  To: gcc-bugs

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

Andrew Pinski <pinskia at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |usaxena95 at gmail dot com

--- Comment #7 from Andrew Pinski <pinskia at gcc dot gnu.org> ---
*** Bug 113577 has been marked as a duplicate of this bug. ***

^ permalink raw reply	[flat|nested] 12+ messages in thread

* [Bug c++/109227] coroutines: ICE in tree check: expected record_type or union_type or qual_union_type, have array_type in build_special_member_call, at cp/call.cc:11067
  2023-03-21  8:03 [Bug c++/109227] New: coroutines: ICE in tree check: expected record_type or union_type or qual_union_type, have array_type in build_special_member_call, at cp/call.cc:11067 marxin at gcc dot gnu.org
                   ` (7 preceding siblings ...)
  2024-01-25 10:44 ` pinskia at gcc dot gnu.org
@ 2024-01-25 19:19 ` jason at gcc dot gnu.org
  2024-01-25 20:22 ` cvs-commit at gcc dot gnu.org
  2024-05-16 15:44 ` ppalka at gcc dot gnu.org
  10 siblings, 0 replies; 12+ messages in thread
From: jason at gcc dot gnu.org @ 2024-01-25 19:19 UTC (permalink / raw)
  To: gcc-bugs

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

Jason Merrill <jason at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
           Assignee|unassigned at gcc dot gnu.org      |jason at gcc dot gnu.org
             Status|NEW                         |ASSIGNED

^ permalink raw reply	[flat|nested] 12+ messages in thread

* [Bug c++/109227] coroutines: ICE in tree check: expected record_type or union_type or qual_union_type, have array_type in build_special_member_call, at cp/call.cc:11067
  2023-03-21  8:03 [Bug c++/109227] New: coroutines: ICE in tree check: expected record_type or union_type or qual_union_type, have array_type in build_special_member_call, at cp/call.cc:11067 marxin at gcc dot gnu.org
                   ` (8 preceding siblings ...)
  2024-01-25 19:19 ` jason at gcc dot gnu.org
@ 2024-01-25 20:22 ` cvs-commit at gcc dot gnu.org
  2024-05-16 15:44 ` ppalka at gcc dot gnu.org
  10 siblings, 0 replies; 12+ messages in thread
From: cvs-commit at gcc dot gnu.org @ 2024-01-25 20:22 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #8 from GCC Commits <cvs-commit at gcc dot gnu.org> ---
The trunk branch has been updated by Jason Merrill <jason@gcc.gnu.org>:

https://gcc.gnu.org/g:44868e7298de5048d6f04d7fa098d5bc767c8cb8

commit r14-8437-g44868e7298de5048d6f04d7fa098d5bc767c8cb8
Author: Jason Merrill <jason@redhat.com>
Date:   Thu Jan 25 14:45:35 2024 -0500

    c++: co_await and initializer_list [PR109227]

    Here we end up with an initializer_list of 'aa', a type with a non-trivial
    destructor, and need to destroy it.  The code called
    build_special_member_call for cleanups, but that doesn't work for arrays,
so
    use cxx_maybe_build_cleanup instead.  Let's go ahead and do that
    everywhere that has been calling the destructor directly.

            PR c++/109227

    gcc/cp/ChangeLog:

            * coroutines.cc (build_co_await): Use cxx_maybe_build_cleanup.
            (build_actor_fn, process_conditional, maybe_promote_temps)
            (morph_fn_to_coro): Likewise.
            (expand_one_await_expression): Use build_cleanup.

    gcc/testsuite/ChangeLog:

            * g++.dg/coroutines/co-await-initlist2.C: New test.

^ permalink raw reply	[flat|nested] 12+ messages in thread

* [Bug c++/109227] coroutines: ICE in tree check: expected record_type or union_type or qual_union_type, have array_type in build_special_member_call, at cp/call.cc:11067
  2023-03-21  8:03 [Bug c++/109227] New: coroutines: ICE in tree check: expected record_type or union_type or qual_union_type, have array_type in build_special_member_call, at cp/call.cc:11067 marxin at gcc dot gnu.org
                   ` (9 preceding siblings ...)
  2024-01-25 20:22 ` cvs-commit at gcc dot gnu.org
@ 2024-05-16 15:44 ` ppalka at gcc dot gnu.org
  10 siblings, 0 replies; 12+ messages in thread
From: ppalka at gcc dot gnu.org @ 2024-05-16 15:44 UTC (permalink / raw)
  To: gcc-bugs

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

Patrick Palka <ppalka at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |jeremypewterschmidt at gmail dot c
                   |                            |om

--- Comment #9 from Patrick Palka <ppalka at gcc dot gnu.org> ---
*** Bug 114850 has been marked as a duplicate of this bug. ***

^ permalink raw reply	[flat|nested] 12+ messages in thread

end of thread, other threads:[~2024-05-16 15:44 UTC | newest]

Thread overview: 12+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2023-03-21  8:03 [Bug c++/109227] New: coroutines: ICE in tree check: expected record_type or union_type or qual_union_type, have array_type in build_special_member_call, at cp/call.cc:11067 marxin at gcc dot gnu.org
2023-03-21  8:03 ` [Bug c++/109227] " marxin at gcc dot gnu.org
2023-03-21  8:18 ` avi at scylladb dot com
2023-03-21  8:41 ` marxin at gcc dot gnu.org
2023-05-18 18:27 ` jakub at gcc dot gnu.org
2023-10-02 16:52 ` pinskia at gcc dot gnu.org
2023-10-02 16:53 ` pinskia at gcc dot gnu.org
2023-10-14 10:46 ` lr.soft.now at gmail dot com
2024-01-25 10:44 ` pinskia at gcc dot gnu.org
2024-01-25 19:19 ` jason at gcc dot gnu.org
2024-01-25 20:22 ` cvs-commit at gcc dot gnu.org
2024-05-16 15:44 ` ppalka at gcc dot gnu.org

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).