https://gcc.gnu.org/bugzilla/show_bug.cgi?id=122502
Sergei Trofimovich <slyfox at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |slyfox at gcc dot gnu.org
--- Comment #5 from Sergei Trofimovich <slyfox at gcc dot gnu.org> ---
Not sure if it's the same or a different crash. `systemd-258.1` ICEs on `gcc`
from `master` on:
```
long cpu_set_to_mask_string_c_0;
char cpu_set_to_mask_string() {
for (unsigned i = cpu_set_to_mask_string_c_0; i;)
for (int j = i % 2 ?: 2; j; j--)
({
long __cpu = --i;
__cpu;
});
return 0;
}
```
as:
$ gcc -O3 -c cpu-set-util.c.c -o bug.o
during GIMPLE pass: sccp
cpu-set-util.c.c: In function 'cpu_set_to_mask_string':
cpu-set-util.c.c:2:6: internal compiler error: Segmentation fault
2 | char cpu_set_to_mask_string() {
| ^~~~~~~~~~~~~~~~~~~~~~
0x22d711b diagnostics::context::diagnostic_impl(rich_location*,
diagnostics::metadata const*, diagnostics::option_id, char const*,
__va_list_tag (*) [1], diagnostics::kind)
???:0
0x22cfd25 internal_error(char const*, ...)
???:0
0xf119d7 crash_signal(int)
???:0
0xb6dfdd gimple_infer_range::gimple_infer_range(gimple*, range_query*, bool)
???:0
0xb6fe25 infer_range_manager::register_all_uses(tree_node*)
???:0
0xb6ffca infer_range_manager::has_range_p(basic_block_def*, tree_node*)
???:0
0xb7000d infer_range_manager::maybe_adjust_range(vrange&, tree_node*,
basic_block_def*)
???:0
0xb54891 ranger_cache::range_from_dom(vrange&, tree_node*, basic_block_def*,
ranger_cache::rfd_mode) [clone .part.0]
???:0
0xb56e17 ranger_cache::fill_block_cache(tree_node*, basic_block_def*,
basic_block_def*)
???:0
0xb588cf ranger_cache::block_range(vrange&, basic_block_def*, tree_node*, bool)
???:0
0xb4a240 gimple_ranger::range_on_entry(vrange&, basic_block_def*, tree_node*)
???:0
0xb49fe0 gimple_ranger::range_on_exit(vrange&, basic_block_def*, tree_node*)
???:0
0xb4daeb gimple_ranger::range_on_edge(vrange&, edge_def*, tree_node*)
???:0
0xb5dcdb fold_using_range::range_of_phi(vrange&, gphi*, fur_source&)
???:0
0xb61fb0 fold_using_range::fold_stmt(vrange&, gimple*, fur_source&, tree_node*)
???:0
0xb4acd1 gimple_ranger::prefill_stmt_dependencies(tree_node*)
???:0
0xb4bbc2 gimple_ranger::range_of_stmt(vrange&, gimple*, tree_node*)
???:0
0xb4d97c gimple_ranger::range_of_expr(vrange&, tree_node*, gimple*)
???:0
0xabf5f3 expr_not_equal_to(tree_node*, generic_wide_int<wide_int_storage>
const&)
???:0
0xac27bd tree_single_nonzero_warnv_p(tree_node*, bool*)
???:0