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

Reply via email to