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

            Bug ID: 120363
           Summary: internal compiler error: in tree_node, at
                    cp/module.cc:9956
           Product: gcc
           Version: 15.1.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: c++
          Assignee: unassigned at gcc dot gnu.org
          Reporter: gcc at acb dot anonaddy.me
  Target Milestone: ---

I am trying to convert an existing C++ project to modules. It is mostly working
fine however on gcc14 and gcc15 with cmake 4.0.1 and cmake 3.31.7 I am getting
the following error:

/workspaces/gw2cc_private_linux/src/gw2cc/algo/TSPSolver.ixx:6:8: internal
compiler error: in tree_node, at cp/module.cc:9956
    6 | export module gw2cc.algo:tsp_solver;
      |        ^~~~~~
0x7f24d269f1c9 __libc_start_call_main
        ../sysdeps/nptl/libc_start_call_main.h:58
0x7f24d269f28a __libc_start_main_impl
        ../csu/libc-start.c:360
Please submit a full bug report, with preprocessed source.

I was able to narrow it down to files that use the GDCLASS macro here:

https://github.com/godotengine/godot/blob/be3ecaeb3c51433058ad4e96ec892d18f4291efd/core/object/object.h#L415

Modules with a similar structure that do not use the macro work fine. I have
attached the output of -freport-bug as instructed by the error message.

For what its worth, MSVC has no issues compiling this.

Using built-in specs.
COLLECT_GCC=gcc
COLLECT_LTO_WRAPPER=/usr/local/libexec/gcc/x86_64-linux-gnu/15.1.0/lto-wrapper
Target: x86_64-linux-gnu
Configured with: /usr/src/gcc/configure --build=x86_64-linux-gnu
--disable-multilib --enable-languages=c,c++,fortran,go
Thread model: posix
Supported LTO compression algorithms: zlib zstd
gcc version 15.1.0 (GCC)

Reply via email to