g++ -std=c++20 -fmodules-ts -x c++-system-header numbers g++ -std=c++20 -fmodules-ts -x c++-system-header ratio g++ -std=c++20 -fmodules-ts -x c++-system-header cstdio g++ -std=c++20 -fmodules-ts -x c++-system-header ostream g++ -std=c++20 -fmodules-ts -x c++-system-header coroutine g++ -std=c++20 -fmodules-ts -x c++-system-header barrier ---- /usr/local/include/c++/11.0.0/barrier: internal compiler error: in write_location, at cp/module.cc:15687 0x6ddcb3 module_state::write_location(bytes_out&, unsigned int) ../../gcc/gcc/cp/module.cc:15687 0xa5cbc9 trees_out::core_vals(tree_node*) ../../gcc/gcc/cp/module.cc:5912 0xa5dafc trees_out::tree_node_vals(tree_node*) ../../gcc/gcc/cp/module.cc:7166 0xa5dafc trees_out::fn_parms_init(tree_node*) ../../gcc/gcc/cp/module.cc:10067 0xa5aa96 trees_out::decl_value(tree_node*, depset*) ../../gcc/gcc/cp/module.cc:7763 0xa5b0bb trees_out::decl_node(tree_node*, walk_kind) ../../gcc/gcc/cp/module.cc:8624 0xa5c0b2 trees_out::tree_node(tree_node*) ../../gcc/gcc/cp/module.cc:9179 0xa611f0 module_state::write_cluster(elf_out*, depset**, unsigned int, depset::hash&, unsigned int*, unsigned int*) ../../gcc/gcc/cp/module.cc:14763 0xa62be8 module_state::write(elf_out*, cpp_reader*) ../../gcc/gcc/cp/module.cc:17734 0xa638fc finish_module_processing(cpp_reader*) ../../gcc/gcc/cp/module.cc:19860 0x9f72cb c_parse_final_cleanups() ../../gcc/gcc/cp/decl2.c:5175 ---- g++ (GCC) 11.0.0 20210223 (experimental)
This bug have disappeared in version 20210225
I suspect also as a result of 98718 *** This bug has been marked as a duplicate of bug 98718 ***
This ICE appeared again, gcc at commit bf1f3168f474734400e7a97660d1e7dec664bca9: ---- /usr/local/bin/g++ -std=c++20 -fmodules-ts -x c++-system-header bit /usr/local/bin/g++ -std=c++20 -fmodules-ts -x c++-system-header istream /usr/local/bin/g++ -std=c++20 -fmodules-ts -x c++-system-header cmath /usr/local/bin/g++ -std=c++20 -fmodules-ts -x c++-system-header locale /usr/local/bin/g++ -std=c++20 -fmodules-ts -x c++-system-header bitset /usr/local/bin/g++ -std=c++20 -fmodules-ts -x c++-system-header shared_mutex /usr/local/bin/g++ -std=c++20 -fmodules-ts -x c++-system-header new /usr/local/bin/g++ -std=c++20 -fmodules-ts -x c++-system-header ciso646 /usr/local/bin/g++ -std=c++20 -fmodules-ts -x c++-system-header memory /usr/local/bin/g++ -std=c++20 -fmodules-ts -x c++-system-header fstream /usr/local/bin/g++ -std=c++20 -fmodules-ts -x c++-system-header thread /usr/local/bin/g++ -std=c++20 -fmodules-ts -x c++-system-header regex ---- In module imported at /usr/local/include/c++/11.0.1/sstream:38:1, included from /usr/local/include/c++/11.0.1/regex:46: /usr/local/include/c++/11.0.1/istream: note: unable to represent further imported source locations /usr/local/include/c++/11.0.1/regex: internal compiler error: in write_location, at cp/module.cc:15642 0x6e02e9 module_state::write_location(bytes_out&, unsigned int) ../../gcc/gcc/cp/module.cc:15642 0xa60e13 trees_out::core_vals(tree_node*) ../../gcc/gcc/cp/module.cc:5894 0xa64244 trees_out::tree_node_vals(tree_node*) ../../gcc/gcc/cp/module.cc:7044 0xa64244 trees_out::tree_value(tree_node*) ../../gcc/gcc/cp/module.cc:8926 0xa60314 trees_out::tree_node(tree_node*) ../../gcc/gcc/cp/module.cc:9124 0xa6462a trees_out::write_var_def(tree_node*) ../../gcc/gcc/cp/module.cc:11511 0xa658c5 module_state::write_cluster(elf_out*, depset**, unsigned int, depset::hash&, unsigned int*, unsigned int*) ../../gcc/gcc/cp/module.cc:14697 0xa6721e module_state::write(elf_out*, cpp_reader*) ../../gcc/gcc/cp/module.cc:17769 0xa67dff finish_module_processing(cpp_reader*) ../../gcc/gcc/cp/module.cc:19883 0x9fb20b c_parse_final_cleanups() ../../gcc/gcc/cp/decl2.c:5175 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. ---- g++ (GCC) 11.0.1 20210324 (experimental) Copyright (C) 2021 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
This report is marked as resolved, but it is stable reproducible all the time. /usr/local/bin/g++ -std=c++20 -fmodules-ts -x c++-system-header bit /usr/local/bin/g++ -std=c++20 -fmodules-ts -x c++-system-header istream /usr/local/bin/g++ -std=c++20 -fmodules-ts -x c++-system-header cmath /usr/local/bin/g++ -std=c++20 -fmodules-ts -x c++-system-header locale /usr/local/bin/g++ -std=c++20 -fmodules-ts -x c++-system-header bitset /usr/local/bin/g++ -std=c++20 -fmodules-ts -x c++-system-header shared_mutex /usr/local/bin/g++ -std=c++20 -fmodules-ts -x c++-system-header new /usr/local/bin/g++ -std=c++20 -fmodules-ts -x c++-system-header ciso646 /usr/local/bin/g++ -std=c++20 -fmodules-ts -x c++-system-header memory /usr/local/bin/g++ -std=c++20 -fmodules-ts -x c++-system-header fstream /usr/local/bin/g++ -std=c++20 -fmodules-ts -x c++-system-header thread /usr/local/bin/g++ -std=c++20 -fmodules-ts -x c++-system-header regex ---- In module imported at /usr/local/include/c++/11.0.1/sstream:38:1, included from /usr/local/include/c++/11.0.1/regex:46: /usr/local/include/c++/11.0.1/istream: note: unable to represent further imported source locations /usr/local/include/c++/11.0.1/regex: internal compiler error: in write_location, at cp/module.cc:15593 0x6e02cf module_state::write_location(bytes_out&, unsigned int) ../../gcc/gcc/cp/module.cc:15593 0xa60ff3 trees_out::core_vals(tree_node*) ../../gcc/gcc/cp/module.cc:5900 0xa64464 trees_out::tree_node_vals(tree_node*) ../../gcc/gcc/cp/module.cc:7050 0xa64464 trees_out::tree_value(tree_node*) ../../gcc/gcc/cp/module.cc:8887 0xa604f4 trees_out::tree_node(tree_node*) ../../gcc/gcc/cp/module.cc:9085 0xa6484a trees_out::write_var_def(tree_node*) ../../gcc/gcc/cp/module.cc:11472 0xa65ae5 module_state::write_cluster(elf_out*, depset**, unsigned int, depset::hash&, unsigned int*, unsigned int*) ../../gcc/gcc/cp/module.cc:14648 0xa6743e module_state::write(elf_out*, cpp_reader*) ../../gcc/gcc/cp/module.cc:17720 0xa6801f finish_module_processing(cpp_reader*) ../../gcc/gcc/cp/module.cc:19831 0x9fb4cb c_parse_final_cleanups() ../../gcc/gcc/cp/decl2.c:5175 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. ---- g++ (GCC) 11.0.1 20210330 (experimental) Copyright (C) 2021 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
The master branch has been updated by Richard Sandiford <rsandifo@gcc.gnu.org>: https://gcc.gnu.org/g:a065e0bb092a010664777394530ab1a52bb5293b commit r11-8178-ga065e0bb092a010664777394530ab1a52bb5293b Author: Richard Sandiford <richard.sandiford@arm.com> Date: Wed Apr 14 16:19:46 2021 +0100 aarch64: Handle more SVE vector constants [PR99246] PR99246 is about a case in which we failed to handle a CONST_VECTOR with NELTS_PER_PATTERN==2, i.e. a vector with a âforegroundâ sequence of N vectors followed by a repeating âbackgroundâ sequence of N vectors. At the moment, it's difficult to produce these vectors directly, but I'm hoping that for GCC 12 we'll do more folding, which will in turn make this easier to test and easier to optimise. Until then, the patch simply relies on the testcase in the PR. gcc/ PR target/99246 * config/aarch64/aarch64.c (aarch64_expand_sve_const_vector_sel): New function. (aarch64_expand_sve_const_vector): Use it for nelts_per_pattern==2. gcc/testsuite/ PR target/99246 * gcc.target/aarch64/sve/acle/general/pr99246.c: New test.
Oops, sorry for the PR typo, should have been PR99249.