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

            Bug ID: 122699
           Summary: ICE in make_dependency, at cp/module.cc:14467
           Product: gcc
           Version: 16.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: c++
          Assignee: unassigned at gcc dot gnu.org
          Reporter: alberto.gcc.bugzilla at gmail dot com
  Target Milestone: ---

Hello

I believe it's a recent regression (didn't notice it last weekend).

``` M.cpp
export module M;

import std;

export
template<int d>
class T
{
private:
  class Helper
  {
  public:
    std::vector<int> PtoVec(std::span<std::size_t const> const Tag) const
    {
    return Tag | std::views::transform([this](auto Tag) { return
T<d>::Punto(Tag); })
               | std::ranges::to<std::vector>();
    }
  };

private:
  static inline std::vector<int> PuntoVec;

public:
  static int Punto(std::size_t const i)
    { return PuntoVec[i]; }
};

```

/home/alberto/gcc-16/gcc-16/bin/g++ -std=c++23 -fmodules -fmodule-only
-fsearch-include-path bits/std.cc -c
/home/alberto/gcc-16/gcc-16/bin/g++ -Wall -Wextra -pedantic -O3 -std=c++23
-fmodules M.cpp -c
M.cpp:2:8: error interno del compilador: en make_dependency, en
cp/module.cc:14467
    2 | export module M;
      |        ^~~~~~
0x285abbb internal_error(char const*, ...)
        ../../gcc/gcc/diagnostic-global-context.cc:787
0xaa5011 fancy_abort(char const*, int, char const*)
        ../../gcc/gcc/diagnostics/context.cc:1806
0x7edfad depset::hash::make_dependency(tree_node*, depset::entity_kind)
        ../../gcc/gcc/cp/module.cc:14467
0xc20d6c depset::hash::add_dependency(tree_node*, depset::entity_kind)
        ../../gcc/gcc/cp/module.cc:14625
0xc2d49c decl_node
        ../../gcc/gcc/cp/module.cc:9398
0xc2d49c tree_node
        ../../gcc/gcc/cp/module.cc:10219
0xc30d86 tree_list
        ../../gcc/gcc/cp/module.cc:5320
0xc3187f write_class_def
        ../../gcc/gcc/cp/module.cc:13224
0xc3187f write_definition
        ../../gcc/gcc/cp/module.cc:13800
0xc33918 depset::hash::find_dependencies(module_state*)
        ../../gcc/gcc/cp/module.cc:15273
0xc34515 module_state::write_begin(elf_out*, cpp_reader*, module_state_config&,
unsigned int&)
        ../../gcc/gcc/cp/module.cc:20589
0xc35d6e finish_module_processing(cpp_reader*)
        ../../gcc/gcc/cp/module.cc:23265
0xbb091e c_parse_final_cleanups()
        ../../gcc/gcc/cp/decl2.cc:5827
0xe3fee8 c_common_parse_file()
        ../../gcc/gcc/c-family/c-opts.cc:1436

/home/alberto/gcc-16/gcc-16/bin/g++ -v
Usando especificaciones internas.
COLLECT_GCC=/home/alberto/gcc-16/gcc-16/bin/g++
COLLECT_LTO_WRAPPER=/home/alberto/gcc-16/gcc-16/libexec/gcc/x86_64-pc-linux-gnu/16.0.0/lto-wrapper
Objetivo: x86_64-pc-linux-gnu
Configurado con: ../gcc/configure --enable-languages=c++ --disable-multilib
--disable-bootstrap --prefix=/home/alberto/gcc-16/gcc-16/
Modelo de hilos: posix
Algoritmos de compresión LTO admitidos: zlib zstd
gcc versión 16.0.0 20251115 (experimental) (GCC)

Reply via email to