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

--- Comment #6 from accelerator0099 at gmail dot com ---
Still ICEs in truck
commit 28b508233a12c13295f960a2cb8a4864879acfb4
May 25 2024
version 15.0.0

Output:
co_yield_bug.cc:197:31: error: redefinition of default argument for ‘class
_Alloc’
  197 |         template <range _Rng, class _Alloc = allocator<byte>>
      |                               ^~~~~
In file included from /build/gcc/include/c++/15.0.0/ranges:72,
                 from co_yield_bug.cc:17:
/build/gcc/include/c++/15.0.0/bits/elements_of.h:55:26: note: original
definition appeared here
   55 |   template<range _Range, typename _Alloc = allocator<byte>>
      |                          ^~~~~~~~
co_yield_bug.cc:204:9: error: redefinition of ‘template<class _Rng, class
_Alloc> std::ranges::elements_of(_Rng&&, _Alloc)-> elements_of<_Range&&,
_Alloc>’
  204 |         elements_of(_Rng&&, _Alloc = {}) -> elements_of<_Rng&&,
_Alloc>;
      |         ^~~~~~~~~~~
/build/gcc/include/c++/15.0.0/bits/elements_of.h:63:5: note: ‘template<class
_Range, class _Alloc> std::ranges::elements_of(_Range&&, _Alloc)->
elements_of<_Range&&, _Alloc>’ previously declared here
   63 |     elements_of(_Range&&, _Alloc = _Alloc())
      |     ^~~~~~~~~~~
co_yield_bug.cc: In function ‘std::generator<std::__cxx11::basic_string<char> >
source(int&, std::string)’:
co_yield_bug.cc:513:1: internal compiler error: in flatten_await_stmt, at
cp/coroutines.cc:2875
  513 | }
      | ^
0x76fd99 flatten_await_stmt
        /build/git/gcc/gcc/cp/coroutines.cc:2875
0xac4833 flatten_await_stmt
        /build/git/gcc/gcc/cp/coroutines.cc:2904
0xac67d0 maybe_promote_temps
        /build/git/gcc/gcc/cp/coroutines.cc:3087
0xac67d0 await_statement_walker
        /build/git/gcc/gcc/cp/coroutines.cc:3726
0x169330c 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*> >*))
        /build/git/gcc/gcc/tree.cc:11468
0xac74e1 await_statement_walker
        /build/git/gcc/gcc/cp/coroutines.cc:3546
0x169330c 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*> >*))
        /build/git/gcc/gcc/tree.cc:11468
0xac6528 await_statement_walker
        /build/git/gcc/gcc/cp/coroutines.cc:3397
0x169330c 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*> >*))
        /build/git/gcc/gcc/tree.cc:11468
0xac69d0 await_statement_walker
        /build/git/gcc/gcc/cp/coroutines.cc:3386
0x169330c 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*> >*))
        /build/git/gcc/gcc/tree.cc:11468
0xac69d0 await_statement_walker
        /build/git/gcc/gcc/cp/coroutines.cc:3386
0x169330c 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*> >*))
        /build/git/gcc/gcc/tree.cc:11468
0xac6528 await_statement_walker
        /build/git/gcc/gcc/cp/coroutines.cc:3397
0x169330c 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*> >*))
        /build/git/gcc/gcc/tree.cc:11468
0x1693464 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*> >*))
        /build/git/gcc/gcc/tree.cc:11702
0xac6528 await_statement_walker
        /build/git/gcc/gcc/cp/coroutines.cc:3397
0x169330c 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*> >*))
        /build/git/gcc/gcc/tree.cc:11468
0xac69d0 await_statement_walker
        /build/git/gcc/gcc/cp/coroutines.cc:3386
0x169330c 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*> >*))
        /build/git/gcc/gcc/tree.cc:11468

Reply via email to