[Bug c++/99187] New: C++ ICE compiling modules with third party library

vision05.dev at gmail dot com gcc-bugzilla@gcc.gnu.org
Sun Feb 21 22:35:35 GMT 2021


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

            Bug ID: 99187
           Summary: C++ ICE compiling modules with third party library
           Product: gcc
           Version: 11.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: c++
          Assignee: unassigned at gcc dot gnu.org
          Reporter: vision05.dev at gmail dot com
  Target Milestone: ---

(compiler spew)

gcc -v:
Using built-in specs.
COLLECT_GCC=gcc
COLLECT_LTO_WRAPPER=/usr/local/libexec/gcc/x86_64-pc-linux-gnu/11.0.0/lto-wrapper
Target: x86_64-pc-linux-gnu
Configured with: ../gcc/configure
Thread model: posix
Supported LTO compression algorithms: zlib zstd
gcc version 11.0.0 20210220 (experimental) (GCC)

When exporting a function in a module, where the function has an
immer::vector<T> (from the immer immutable data structures library) declared or
instantiated inside the function body the ICE is produced. The file compiles
correctly when the vector is not declared. Command passed to cause the ICE: g++
-fmodules-ts bug.cpp -I/usr/include/c++/10.2.0/immer-0.6.2/ 

bug.cpp:5:9: internal compiler error: in tree_node, at cp/module.cc:9153
    5 | export module bug;
      |         ^~~~~~
0x69ccde trees_out::tree_node(tree_node*)
        ../../gcc/gcc/cp/module.cc:9153
0xa16ed9 trees_out::core_vals(tree_node*)
        ../../gcc/gcc/cp/module.cc:6023
0xa1a2e4 trees_out::tree_node_vals(tree_node*)
        ../../gcc/gcc/cp/module.cc:7164
0xa1a2e4 trees_out::tree_value(tree_node*)
        ../../gcc/gcc/cp/module.cc:8984
0xa16374 trees_out::tree_node(tree_node*)
        ../../gcc/gcc/cp/module.cc:9182
0xa16ed9 trees_out::core_vals(tree_node*)
        ../../gcc/gcc/cp/module.cc:6023
0xa1a2e4 trees_out::tree_node_vals(tree_node*)
        ../../gcc/gcc/cp/module.cc:7164
0xa1a2e4 trees_out::tree_value(tree_node*)
        ../../gcc/gcc/cp/module.cc:8984
0xa16374 trees_out::tree_node(tree_node*)
        ../../gcc/gcc/cp/module.cc:9182
0xa16ed9 trees_out::core_vals(tree_node*)
        ../../gcc/gcc/cp/module.cc:6023
0xa1a2e4 trees_out::tree_node_vals(tree_node*)
        ../../gcc/gcc/cp/module.cc:7164
0xa1a2e4 trees_out::tree_value(tree_node*)
        ../../gcc/gcc/cp/module.cc:8984
0xa16374 trees_out::tree_node(tree_node*)
        ../../gcc/gcc/cp/module.cc:9182
0xa16ed9 trees_out::core_vals(tree_node*)
        ../../gcc/gcc/cp/module.cc:6023
0xa1a2e4 trees_out::tree_node_vals(tree_node*)
        ../../gcc/gcc/cp/module.cc:7164
0xa1a2e4 trees_out::tree_value(tree_node*)
        ../../gcc/gcc/cp/module.cc:8984
0xa16374 trees_out::tree_node(tree_node*)
        ../../gcc/gcc/cp/module.cc:9182
0xa16ed9 trees_out::core_vals(tree_node*)
        ../../gcc/gcc/cp/module.cc:6023
0xa1a2e4 trees_out::tree_node_vals(tree_node*)
        ../../gcc/gcc/cp/module.cc:7164
0xa1a2e4 trees_out::tree_value(tree_node*)
        ../../gcc/gcc/cp/module.cc:8984
Please submit a full bug report,
with preprocessed source if appropriate.
Please include the complete backtrace with any bug report.
See <https://gcc.gnu.org/bugs/> for instructions.


More information about the Gcc-bugs mailing list