https://gcc.gnu.org/bugzilla/show_bug.cgi?id=109206
Bug ID: 109206 Summary: [13 Regression] gcc/fortran/class.cc:2768:14: runtime error: load of value 4139789424, which is not a valid value for type 'bt' since r13-6747-gd7caf313525a46 Product: gcc Version: 13.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: fortran Assignee: unassigned at gcc dot gnu.org Reporter: marxin at gcc dot gnu.org CC: pault at gcc dot gnu.org Target Milestone: --- The following test-case fails with UBSAN enabled: $ cat finalize_38a.f90 module testmode type simple integer ind end type type, extends(simple) :: complicated real rind contains final destructor4 end type contains subroutine destructor4(self) type(complicated) self end function constructor2(rind) optional rind type(complicated), allocatable :: src(:) integer sz if (present (rind)) then src = [(complicated (ind0, rind0), i = 1, sz)] end if end end $ /dev/shm/objdir2/gcc/xgcc -B/dev/shm/objdir2/gcc/ finalize_38a.f90 -c -std=f2008 finalize_38a.f90:19:56: 19 | src = [(complicated (ind0, rind0), i = 1, sz)] | 1 Warning: The structure constructor at (1) has been finalized. This feature was removed by f08/0011. Use -std=f2018 or -std=gnu to eliminate the finalization. /home/marxin/Programming/gcc/gcc/fortran/class.cc:2768:14: runtime error: load of value 4139789424, which is not a valid value for type 'bt' #0 0xab7ec1 in gfc_may_be_finalized(gfc_typespec) /home/marxin/Programming/gcc/gcc/fortran/class.cc:2768 #1 0xed949d in gfc_trans_array_constructor_value /home/marxin/Programming/gcc/gcc/fortran/trans-array.cc:2309 #2 0xede7b7 in trans_array_constructor /home/marxin/Programming/gcc/gcc/fortran/trans-array.cc:2936 #3 0xee0956 in gfc_add_loop_ss_code /home/marxin/Programming/gcc/gcc/fortran/trans-array.cc:3229 #4 0xef7ce6 in gfc_conv_loop_setup(gfc_loopinfo*, locus*) /home/marxin/Programming/gcc/gcc/fortran/trans-array.cc:5526 #5 0x10270a6 in gfc_trans_assignment_1 /home/marxin/Programming/gcc/gcc/fortran/trans-expr.cc:11789 #6 0x102a9e2 in gfc_trans_assignment(gfc_expr*, gfc_expr*, bool, bool, bool, bool) /home/marxin/Programming/gcc/gcc/fortran/trans-expr.cc:12251 #7 0x102ab73 in gfc_trans_assign(gfc_code*) /home/marxin/Programming/gcc/gcc/fortran/trans-expr.cc:12264 #8 0xec3f1b in trans_code /home/marxin/Programming/gcc/gcc/fortran/trans.cc:2229 #9 0xec497c in gfc_trans_code(gfc_code*) /home/marxin/Programming/gcc/gcc/fortran/trans.cc:2582 #10 0x110ae45 in gfc_trans_if_1 /home/marxin/Programming/gcc/gcc/fortran/trans-stmt.cc:1487 #11 0x110b1bf in gfc_trans_if(gfc_code*) /home/marxin/Programming/gcc/gcc/fortran/trans-stmt.cc:1519 #12 0xec42e3 in trans_code /home/marxin/Programming/gcc/gcc/fortran/trans.cc:2317 #13 0xec497c in gfc_trans_code(gfc_code*) /home/marxin/Programming/gcc/gcc/fortran/trans.cc:2582 #14 0xfa0df6 in gfc_generate_function_code(gfc_namespace*) /home/marxin/Programming/gcc/gcc/fortran/trans-decl.cc:7714 #15 0xec55d8 in gfc_generate_module_code(gfc_namespace*) /home/marxin/Programming/gcc/gcc/fortran/trans.cc:2649 #16 0xcff92f in translate_all_program_units /home/marxin/Programming/gcc/gcc/fortran/parse.cc:6707 #17 0xd00f09 in gfc_parse_file() /home/marxin/Programming/gcc/gcc/fortran/parse.cc:7026 #18 0xe822bb in gfc_be_parse_file /home/marxin/Programming/gcc/gcc/fortran/f95-lang.cc:229 #19 0x278e9f1 in compile_file /home/marxin/Programming/gcc/gcc/toplev.cc:444 #20 0x2796c4b in do_compile /home/marxin/Programming/gcc/gcc/toplev.cc:2125 #21 0x27974c1 in toplev::main(int, char**) /home/marxin/Programming/gcc/gcc/toplev.cc:2277 #22 0x69f084d in main /home/marxin/Programming/gcc/gcc/main.cc:39 #23 0x7ffff722caef in __libc_start_call_main ../sysdeps/nptl/libc_start_call_main.h:58 #24 0x7ffff722cbb8 in __libc_start_main_impl ../csu/libc-start.c:360 #25 0xa3c164 in _start ../sysdeps/x86_64/start.S:115