https://gcc.gnu.org/bugzilla/show_bug.cgi?id=114005
Bug ID: 114005 Summary: Constructing a constexpr std::initializer_list ICEs GCC when using C++ modules Product: gcc Version: 14.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: c++ Assignee: unassigned at gcc dot gnu.org Reporter: eddiejnolan at gmail dot com Target Milestone: --- Constructing a constexpr std::initializer_list at namespace scope causes an ICE when attempting to compile this module: module; #include <initializer_list> export module module1; constexpr std::initializer_list<int> foo{0}; Using the command line: g++ -g -std=gnu++23 -MD -fmodules-ts -MD -fdeps-format=p1689r5 -x c++ -c Compiler explorer link: https://godbolt.org/z/6Te44T6oo Error message: module1.cpp:5:8: internal compiler error: in tree_node, at cp/module.cc:9320 5 | export module math; | ^~~~~~ 0x7adc91 trees_out::tree_node(tree_node*) /tmp/eddie/spack-stage/spack-stage-gcc-master-5txldehejuy5mxnvbocqkauwzyskb5oe/spack-src/gcc/cp/module.cc:9320 0xb9dfb2 trees_out::core_vals(tree_node*) /tmp/eddie/spack-stage/spack-stage-gcc-master-5txldehejuy5mxnvbocqkauwzyskb5oe/spack-src/gcc/cp/module.cc:6066 0xba16f3 trees_out::tree_node_vals(tree_node*) /tmp/eddie/spack-stage/spack-stage-gcc-master-5txldehejuy5mxnvbocqkauwzyskb5oe/spack-src/gcc/cp/module.cc:7241 0xba16f3 trees_out::tree_value(tree_node*) /tmp/eddie/spack-stage/spack-stage-gcc-master-5txldehejuy5mxnvbocqkauwzyskb5oe/spack-src/gcc/cp/module.cc:9142 0xb9d430 trees_out::tree_node(tree_node*) /tmp/eddie/spack-stage/spack-stage-gcc-master-5txldehejuy5mxnvbocqkauwzyskb5oe/spack-src/gcc/cp/module.cc:9340 0xb9dfb2 trees_out::core_vals(tree_node*) /tmp/eddie/spack-stage/spack-stage-gcc-master-5txldehejuy5mxnvbocqkauwzyskb5oe/spack-src/gcc/cp/module.cc:6066 0xba16f3 trees_out::tree_node_vals(tree_node*) /tmp/eddie/spack-stage/spack-stage-gcc-master-5txldehejuy5mxnvbocqkauwzyskb5oe/spack-src/gcc/cp/module.cc:7241 0xba16f3 trees_out::tree_value(tree_node*) /tmp/eddie/spack-stage/spack-stage-gcc-master-5txldehejuy5mxnvbocqkauwzyskb5oe/spack-src/gcc/cp/module.cc:9142 0xb9d430 trees_out::tree_node(tree_node*) /tmp/eddie/spack-stage/spack-stage-gcc-master-5txldehejuy5mxnvbocqkauwzyskb5oe/spack-src/gcc/cp/module.cc:9340 0xb9e0e6 trees_out::core_vals(tree_node*) /tmp/eddie/spack-stage/spack-stage-gcc-master-5txldehejuy5mxnvbocqkauwzyskb5oe/spack-src/gcc/cp/module.cc:6473 0xba16f3 trees_out::tree_node_vals(tree_node*) /tmp/eddie/spack-stage/spack-stage-gcc-master-5txldehejuy5mxnvbocqkauwzyskb5oe/spack-src/gcc/cp/module.cc:7241 0xba16f3 trees_out::tree_value(tree_node*) /tmp/eddie/spack-stage/spack-stage-gcc-master-5txldehejuy5mxnvbocqkauwzyskb5oe/spack-src/gcc/cp/module.cc:9142 0xb9d430 trees_out::tree_node(tree_node*) /tmp/eddie/spack-stage/spack-stage-gcc-master-5txldehejuy5mxnvbocqkauwzyskb5oe/spack-src/gcc/cp/module.cc:9340 0xba1a19 trees_out::write_var_def(tree_node*) /tmp/eddie/spack-stage/spack-stage-gcc-master-5txldehejuy5mxnvbocqkauwzyskb5oe/spack-src/gcc/cp/module.cc:11768 0xba3bda depset::hash::find_dependencies(module_state*) /tmp/eddie/spack-stage/spack-stage-gcc-master-5txldehejuy5mxnvbocqkauwzyskb5oe/spack-src/gcc/cp/module.cc:13427 0xba45e7 module_state::write_begin(elf_out*, cpp_reader*, module_state_config&, unsigned int&) /tmp/eddie/spack-stage/spack-stage-gcc-master-5txldehejuy5mxnvbocqkauwzyskb5oe/spack-src/gcc/cp/module.cc:18000 0xba5b84 finish_module_processing(cpp_reader*) /tmp/eddie/spack-stage/spack-stage-gcc-master-5txldehejuy5mxnvbocqkauwzyskb5oe/spack-src/gcc/cp/module.cc:20348 0xb2e0b3 c_parse_final_cleanups() /tmp/eddie/spack-stage/spack-stage-gcc-master-5txldehejuy5mxnvbocqkauwzyskb5oe/spack-src/gcc/cp/decl2.cc:5316 0xd88fcf c_common_parse_file() /tmp/eddie/spack-stage/spack-stage-gcc-master-5txldehejuy5mxnvbocqkauwzyskb5oe/spack-src/gcc/c-family/c-opts.cc:1329 Please submit a full bug report, with preprocessed source (by using -freport-bug). GCC version tested was built from master on 20240218 using Spack: gcc version 14.0.1 20240218 (experimental) (Spack GCC)