[Bug c++/118124] New: [15 Regression] ICE in in expand_expr_real_2, at expr.cc:9761 on nss-3.101.2
slyfox at gcc dot gnu.org
gcc-bugzilla@gcc.gnu.org
Thu Dec 19 09:32:33 GMT 2024
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=118124
Bug ID: 118124
Summary: [15 Regression] ICE in in expand_expr_real_2, at
expr.cc:9761 on nss-3.101.2
Product: gcc
Version: 15.0
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: c++
Assignee: unassigned at gcc dot gnu.org
Reporter: slyfox at gcc dot gnu.org
Target Milestone: ---
Initially noticed build failure on nss-3.101.2 where the error did not make
sense on gcc-master from r15-6363-gd0635492172781. Did not bisect.
Extracted reproducer:
// $ cat blake2b_unittest.cc.cc
namespace std {
template <class> struct initializer_list {
private:
int *_M_array;
unsigned long _M_len;
};
struct vector {
vector(initializer_list<char>);
};
} // namespace std
std::vector kat_data{
6, 7, 8, 9, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 0, 1, 2, 3, 4, 5, 6, 7,
8, 9, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9,
0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 0, 1,
2, 3, 4, 5, 6, 7, 8, 9, 0, 1, 2, 3, 4, 5, 6, 7, 208, 209, 0, 1, 2, 3,
4, 5, 6, 7, 8, 9, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 0, 1, 2, 3, 4, 5,
6, 7, 8, 9, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 0, 1, 2, 3, 4, 5};
Crashing:
$ gcc/xg++ -Bgcc -c blake2b_unittest.cc.cc -Wno-narrowing
blake2b_unittest.cc.cc:17:68: internal compiler error: in expand_expr_real_2,
at expr.cc:9761
17 | 6, 7, 8, 9, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 0, 1, 2, 3, 4, 5};
| ^
0x28e0704 diagnostic_context::diagnostic_impl(rich_location*,
diagnostic_metadata const*, diagnostic_option_id, char const*, __va_list_tag
(*) [1], diagnostic_t)
???:0
0x28f2f20 internal_error(char const*, ...)
???:0
0x28dc884 fancy_abort(char const*, int, char const*)
???:0
0xe1af07 expand_expr_real_2(separate_ops const*, rtx_def*, machine_mode,
expand_modifier)
???:0
0xe25704 expand_expr_real_1(tree_node*, rtx_def*, machine_mode,
expand_modifier, rtx_def**, bool)
???:0
0xe25cba expand_expr_real(tree_node*, rtx_def*, machine_mode, expand_modifier,
rtx_def**, bool)
???:0
0x1710ad1 output_constant(tree_node*, unsigned long, unsigned int, bool, bool)
???:0
0x171215d output_constructor(tree_node*, unsigned long, unsigned int, bool,
oc_outer_state*)
???:0
0x1711517 output_constant(tree_node*, unsigned long, unsigned int, bool, bool)
???:0
0x17140de assemble_variable_contents(tree_node*, char const*, bool, bool)
???:0
0x171f251 assemble_variable(tree_node*, int, int, int)
???:0
0x1723dbb varpool_node::assemble_decl()
???:0
0xd306cd cgraph_order_sort::process()
???:0
0xd31b20 symbol_table::compile()
???:0
0xd3488e symbol_table::finalize_compilation_unit()
???:0
Please submit a full bug report, with preprocessed source (by using
-freport-bug).
Please include the complete backtrace with any bug report.
See <https://gcc.gnu.org/bugs/> for instructions.
Note that -Wnarrowing produces an odd error:
$ gcc/xg++ -Bgcc -c blake2b_unittest.cc.cc
blake2b_unittest.cc.cc:17:67: error: narrowing conversion of ‘‘raw_data_cst’
not supported by dump_expr<expression error>’ from ‘int’ to ‘char’
[-Wnarrowing]
17 | 6, 7, 8, 9, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 0, 1, 2, 3, 4, 5};
| ^
The code built successfully with a yesterday's gcc-master from
r15-6326-g74d6a676034b3a.
gcc/xg++ -Bgcc -v
Reading specs from gcc/specs
COLLECT_GCC=gcc/xg++
COLLECT_LTO_WRAPPER=gcc/lto-wrapper
Target: x86_64-pc-linux-gnu
Configured with: /home/slyfox/dev/git/gcc/configure --disable-multilib
--disable-bootstrap --disable-lto --disable-libsanitizer
--disable-libstdcxx-pch --enable-languages=c,c++ --disable-libgomp
--disable-libquadmath --disable-libvtv CFLAGS='-O1 -g0' CXXFLAGS='-O1 -g0'
LDFLAGS='-O1 -g0'
Thread model: posix
Supported LTO compression algorithms: zlib
gcc version 15.0.0 20241219 (experimental) (GCC)
More information about the Gcc-bugs
mailing list