https://gcc.gnu.org/bugzilla/show_bug.cgi?id=117904
Bug ID: 117904 Summary: cc1gm2 ICE when compiling a const built from VAL and SIZE Product: gcc Version: 15.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: modula2 Assignee: gaius at gcc dot gnu.org Reporter: gaius at gcc dot gnu.org Target Milestone: --- Created attachment 59778 --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=59778&action=edit Test module causing ICE As reported on the gm2 mailing list: TstXXX.mod: In function ‘TransposeToDynMat’: /home/gaius/GCC/gcc-read-write/gcc/testsuite/gm2/pim/pass/TstXXX.mod:21:27: internal compiler error: in decompose, at wide-int.h:1049 0x35f55b9 internal_error(char const*, ...) ../../gcc/diagnostic-global-context.cc:517 0x35c4f43 fancy_abort(char const*, int, char const*) ../../gcc/diagnostic.cc:1696 0xf7207c wi::int_traits<generic_wide_int<wide_int_ref_storage<false, false> > >::decompose(long*, unsigned int, generic_wide_int<wide_int_ref_storage<false, false> > const&) ../../gcc/wide-int.h:1049 0xf72872 wide_int_ref_storage<false, false>::wide_int_ref_storage<generic_wide_int<wide_int_ref_storage<false, false> > >(generic_wide_int<wide_int_ref_storage<false, false> > const&, unsigned int) ../../gcc/wide-int.h:1099 0xf72392 generic_wide_int<wide_int_ref_storage<false, false> >::generic_wide_int<generic_wide_int<wide_int_ref_storage<false, false> > >(generic_wide_int<wide_int_ref_storage<false, false> > const&, unsigned int) ../../gcc/wide-int.h:855 0x18bd6b6 wi::binary_traits<generic_wide_int<wide_int_storage>, generic_wide_int<wide_int_ref_storage<false, false> >, wi::int_traits<generic_wide_int<wide_int_storage> >::precision_type, wi::int_traits<generic_wide_int<w ide_int_ref_storage<false, false> > >::precision_type>::result_type wi::bit_and_not<generic_wide_int<wide_int_storage>, generic_wide_int<wide_int_ref_storage<false, false> > >(generic_wide_int<wide_int_storage> const&, ge neric_wide_int<wide_int_ref_storage<false, false> > const&) ../../gcc/wide-int.h:2780 0x1e96aa9 gimple_simplify_BIT_AND_EXPR(gimple_match_op*, gimple**, tree_node* (*)(tree_node*), code_helper, tree_node*, tree_node*, tree_node*) /home/gaius/GCC/gcc-read-write/build/gcc/gimple-match-1.cc:20108 0x1f33c4e gimple_simplify(gimple_match_op*, gimple**, tree_node* (*)(tree_node*), code_helper, tree_node*, tree_node*, tree_node*) /home/gaius/GCC/gcc-read-write/build/gcc/gimple-match-2.cc:24822 0x2406d4c gimple_resimplify2 ../../gcc/gimple-match-exports.cc:1046 0x24045c2 gimple_match_op::resimplify(gimple**, tree_node* (*)(tree_node*)) ../../gcc/gimple-match-exports.cc:113 0x24064c6 gimple_simplify(gimple*, gimple_match_op*, gimple**, tree_node* (*)(tree_node*), tree_node* (*)(tree_node*)) ../../gcc/gimple-match-exports.cc:913 0x123d3e1 fold_stmt_1 ../../gcc/gimple-fold.cc:6584 0x123db97 fold_stmt(gimple_stmt_iterator*, bitmap_head*) ../../gcc/gimple-fold.cc:6755 0x12873b6 maybe_fold_stmt ../../gcc/gimplify.cc:3821 0x1292c07 gimplify_modify_expr ../../gcc/gimplify.cc:6894 0x12c89b5 gimplify_expr(tree_node**, gimple**, gimple**, bool (*)(tree_node*), int) ../../gcc/gimplify.cc:18656 0x12962ad gimplify_stmt(tree_node**, gimple**) ../../gcc/gimplify.cc:7839 0x127c1ed gimplify_and_add(tree_node*, gimple**) ../../gcc/gimplify.cc:518 0x127c9c7 internal_get_tmp_var ../../gcc/gimplify.cc:677 0x127ca72 get_formal_tmp_var(tree_node*, gimple**) ../../gcc/gimplify.cc:703