[Bug c++/99071] [modules] ICE with initializer_list & iostream

nathan at gcc dot gnu.org gcc-bugzilla@gcc.gnu.org
Tue Feb 16 21:14:40 GMT 2021


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

--- Comment #1 from Nathan Sidwell <nathan at gcc dot gnu.org> ---
Reduced testcase:

// 99071_a.H
template<typename T>
void begin (T *);

// 99071_b.H
import "99071_a.H";

template<typename T>
void begin(T &);

./cc1plus -fmodule-header -quiet -std=c++17 99071_a.H
./cc1plus -fmodule-header -quiet -std=c++17 99071_b.H

99071_b.H:4:15: internal compiler error: tree check: expected binding_vector,
have overload in maybe_record_mergeable_decl, at cp/name-lookup.c:3528
    4 | void begin(T &);
      |               ^
0x1c561e8 tree_check_failed(tree_node const*, char const*, int, char const*,
...)
        ../../../src/gcc/tree.c:9814
0xa0e321 tree_check(tree_node*, char const*, int, char const*, tree_code)
        ../../../src/gcc/tree.h:3349
0xc75e3b maybe_record_mergeable_decl
        ../../../src/gcc/cp/name-lookup.c:3528
0xc7780c do_pushdecl
        ../../../src/gcc/cp/name-lookup.c:3850
0xc7b29d do_pushdecl_with_scope
        ../../../src/gcc/cp/name-lookup.c:4850
0xc805d8 pushdecl_namespace_level(tree_node*, bool)
        ../../../src/gcc/cp/name-lookup.c:6212


More information about the Gcc-bugs mailing list