https://gcc.gnu.org/bugzilla/show_bug.cgi?id=103628
Bug ID: 103628 Summary: ICE: Segmentation fault (in gfc_conv_tree_to_mpfr) Product: gcc Version: 12.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: target Assignee: unassigned at gcc dot gnu.org Reporter: asolokha at gmx dot com Target Milestone: --- Target: powerpc-e300c3-linux-gnu Created attachment 51956 --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=51956&action=edit Testcase gcc 12.0.0 20211205 snapshot (g:c9419faef0bfaf31e6a6f744baa064892e0d105c) ICEs when compiling test/f90_correct/src/qp54.f08 from the flang test suite for a 32-bit BE target:: % powerpc-e300c3-linux-gnu-gfortran-12.0.0 -w -c flang/testsuite/f90_correct/src/qp54.f08 f951: internal compiler error: Segmentation fault 0xf19f66 crash_signal /var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-12.0.0_p20211205/work/gcc-12-20211205/gcc/toplev.c:322 0x940280 tree_check(tree_node*, char const*, int, char const*, tree_code) /var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-12.0.0_p20211205/work/gcc-12-20211205/gcc/tree.h:3440 0x940280 gfc_conv_tree_to_mpfr(__mpfr_struct*, tree_node*) /var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-12.0.0_p20211205/work/gcc-12-20211205/gcc/fortran/trans-const.c:285 0x90e770 gfc_interpret_float(int, unsigned char*, unsigned long, __mpfr_struct*) /var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-12.0.0_p20211205/work/gcc-12-20211205/gcc/fortran/target-memory.c:419 0x816071 gfc_hollerith2real(gfc_expr*, int) /var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-12.0.0_p20211205/work/gcc-12-20211205/gcc/fortran/arith.c:2605 0x900018 gfc_convert_constant(gfc_expr*, bt, int) /var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-12.0.0_p20211205/work/gcc-12-20211205/gcc/fortran/simplify.c:8728 0x867b87 do_simplify /var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-12.0.0_p20211205/work/gcc-12-20211205/gcc/fortran/intrinsic.c:4636 0x87513a gfc_convert_type_warn(gfc_expr*, gfc_typespec*, int, int, bool) /var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-12.0.0_p20211205/work/gcc-12-20211205/gcc/fortran/intrinsic.c:5362 0x85c6f3 gfc_check_assign_symbol(gfc_symbol*, gfc_component*, gfc_expr*) /var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-12.0.0_p20211205/work/gcc-12-20211205/gcc/fortran/expr.c:4545 0x837986 add_init_expr_to_sym /var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-12.0.0_p20211205/work/gcc-12-20211205/gcc/fortran/decl.c:2014 0x8437ba variable_decl /var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-12.0.0_p20211205/work/gcc-12-20211205/gcc/fortran/decl.c:3108 0x8437ba gfc_match_data_decl() /var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-12.0.0_p20211205/work/gcc-12-20211205/gcc/fortran/decl.c:6297 0x8b87a9 match_word /var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-12.0.0_p20211205/work/gcc-12-20211205/gcc/fortran/parse.c:67 0x8b87a9 decode_statement /var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-12.0.0_p20211205/work/gcc-12-20211205/gcc/fortran/parse.c:378 0x8bea44 next_free /var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-12.0.0_p20211205/work/gcc-12-20211205/gcc/fortran/parse.c:1397 0x8bea44 next_statement /var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-12.0.0_p20211205/work/gcc-12-20211205/gcc/fortran/parse.c:1629 0x8c0c8b parse_spec /var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-12.0.0_p20211205/work/gcc-12-20211205/gcc/fortran/parse.c:4168 0x8c4051 parse_progunit /var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-12.0.0_p20211205/work/gcc-12-20211205/gcc/fortran/parse.c:6192 0x8c4bf3 gfc_parse_file() /var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-12.0.0_p20211205/work/gcc-12-20211205/gcc/fortran/parse.c:6737 0x91adde gfc_be_parse_file /var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-12.0.0_p20211205/work/gcc-12-20211205/gcc/fortran/f95-lang.c:216