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

            Bug ID: 124455
           Summary: [modules] Using std::views::filter gives ICE in
                    import_entity_index, at cp/module.cc:4330
           Product: gcc
           Version: 16.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: c++
          Assignee: unassigned at gcc dot gnu.org
          Reporter: yagreg7 at gmail dot com
  Target Milestone: ---

The output file with `-freport-bug` (source code, compiler version and error). 

```
// Target: x86_64-pc-linux-gnu
// Configured with: /media/hdd/repos/gcc/configure
--prefix=/media/hdd/software/gcc/out --enable-languages=c,c++
// Thread model: posix
// Supported LTO compression algorithms: zlib zstd
// gcc version 16.0.1 20260311 (experimental) (GCC) 
// 
// /media/ssd/projects/cpp/demos/mod-repr1/mod.xx:1:8: internal compiler error:
in import_entity_index, at cp/module.cc:4330
//     1 | export module mod;
//       |        ^~~~~~
// 0x2b0613f internal_error(char const*, ...)
//      /media/hdd/repos/gcc/gcc/diagnostic-global-context.cc:787
// 0xb563cf fancy_abort(char const*, int, char const*)
//      /media/hdd/repos/gcc/gcc/diagnostics/context.cc:1813
// 0x8467fb import_entity_index
//      /media/hdd/repos/gcc/gcc/cp/module.cc:4330
// 0x8467fb import_entity_index
//      /media/hdd/repos/gcc/gcc/cp/module.cc:4325
// 0xcf75c4 decl_node
//      /media/hdd/repos/gcc/gcc/cp/module.cc:9548
// 0xcf75c4 tree_node
//      /media/hdd/repos/gcc/gcc/cp/module.cc:10344
// 0xcf4685 decl_value
//      /media/hdd/repos/gcc/gcc/cp/module.cc:8587
// 0xcf6fed decl_node
//      /media/hdd/repos/gcc/gcc/cp/module.cc:9524
// 0xcf6fed tree_node
//      /media/hdd/repos/gcc/gcc/cp/module.cc:10344
// 0xcfd4c3 module_state::write_cluster(elf_out*, depset**, unsigned int,
depset::hash&, unsigned int*, unsigned int*)
//      /media/hdd/repos/gcc/gcc/cp/module.cc:17391
// 0xd0031e module_state::write_begin(elf_out*, cpp_reader*,
module_state_config&, unsigned int&)
//      /media/hdd/repos/gcc/gcc/cp/module.cc:21089
// 0xd0158d finish_module_processing(cpp_reader*)
//      /media/hdd/repos/gcc/gcc/cp/module.cc:23794
// 0xc73d09 c_parse_final_cleanups()
//      /media/hdd/repos/gcc/gcc/cp/decl2.cc:6122
// 0xf43510 c_common_parse_file()
//      /media/hdd/repos/gcc/gcc/c-family/c-opts.cc:1440
// -quiet -MD CMakeFiles/example.dir/mod.xx.d -MF
CMakeFiles/example.dir/mod.xx.o.d -MT CMakeFiles/example.dir/mod.xx.o
-D_GNU_SOURCE /media/ssd/projects/cpp/demos/mod-repr1/mod.xx
-fdeps-file=CMakeFiles/example.dir/mod.xx.ddi
-fdeps-target=CMakeFiles/example.dir/mod.xx.o -quiet -dumpdir
CMakeFiles/example.dir/ -dumpbase mod.xx.xx -dumpbase-ext .xx -mtune=generic
-march=x86-64 -g -Wall -Wextra -Wpedantic -std=gnu++26
-fsanitize=address,undefined -freport-bug -fmodules
-fmodule-mapper=CMakeFiles/example.dir/mod.xx.o.modmap -fdeps-format=p1689r5 -o
- -frandom-seed=0 -fdump-noaddr
// Please submit a full bug report, with preprocessed source.
// Please include the complete backtrace with any bug report.
// See <https://gcc.gnu.org/bugs/> for instructions.

// /media/hdd/software/gcc/out/libexec/gcc/x86_64-pc-linux-gnu/16.0.1/cc1plus
-quiet -MD CMakeFiles/example.dir/mod.xx.d -MF
CMakeFiles/example.dir/mod.xx.o.d -MT CMakeFiles/example.dir/mod.xx.o
-D_GNU_SOURCE /media/ssd/projects/cpp/demos/mod-repr1/mod.xx
-fdeps-file=CMakeFiles/example.dir/mod.xx.ddi
-fdeps-target=CMakeFiles/example.dir/mod.xx.o -quiet -dumpdir
CMakeFiles/example.dir/ -dumpbase mod.xx.xx -dumpbase-ext .xx -mtune=generic
-march=x86-64 -g -Wall -Wextra -Wpedantic -std=gnu++26
-fsanitize=address,undefined -freport-bug -fmodules
-fmodule-mapper=CMakeFiles/example.dir/mod.xx.o.modmap -fdeps-format=p1689r5 -o
- -frandom-seed=0 -fdump-noaddr

# 0 "/media/ssd/projects/cpp/demos/mod-repr1/mod.xx"
# 1 "/media/ssd/projects/cpp/demos/mod-repr1/build//"
# 0 "<built-in>"
# 0 "<command-line>"
# 1 "/usr/include/stdc-predef.h" 1 3
# 0 "<command-line>" 2
# 1 "/media/ssd/projects/cpp/demos/mod-repr1/mod.xx"
export module mod;

import std;

void f() {
    std::vector<int> vec{};
    auto view = std::views::filter(vec, [] (auto) { return true; });
    for (const auto& _ : view);
}
```

Reply via email to