https://gcc.gnu.org/bugzilla/show_bug.cgi?id=127139
Bug ID: 127139
Summary: internal compiler error with polymorphic merge and
assumed-rank argument
Product: gcc
Version: 17.0
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: fortran
Assignee: unassigned at gcc dot gnu.org
Reporter: mikael at gcc dot gnu.org
Target Milestone: ---
testcase:
module mod
implicit none
type :: t
integer :: c1
end type
contains
function f(a, b, l)
class(t), intent(in) :: a(..), b
logical, intent(in) :: l
class(t), allocatable :: f
select rank(a)
rank(0)
f = merge(a, b, l)
rank default
error stop 1
end select
end function
end module
compilation gives:
test_merge.f90:13:26:
13 | f = merge(a, b, l)
| 1
internal compiler error: in fold_convert_loc, at fold-const.cc:2682
0x26c8a2d internal_error(char const*, ...)
../../src/gcc/diagnostic-global-context.cc:787
0x978c1d fancy_abort(char const*, int, char const*)
../../src/gcc/diagnostics/context.cc:1813
0x789488 fold_convert_loc(unsigned long, tree_node*, tree_node*)
../../src/gcc/fold-const.cc:2682
0xb2d342 gfc_conv_intrinsic_merge
../../src/gcc/fortran/trans-intrinsic.cc:7898
0xb18db9 gfc_trans_assignment_1
../../src/gcc/fortran/trans-expr.cc:13712
0xab8347 trans_code
../../src/gcc/fortran/trans.cc:2382
0xb6f56f gfc_trans_block_construct(gfc_code*)
../../src/gcc/fortran/trans-stmt.cc:2580
0xab8442 trans_code
../../src/gcc/fortran/trans.cc:2482
0xb682e5 gfc_trans_select_rank_cases
../../src/gcc/fortran/trans-stmt.cc:4024
0xb710b4 gfc_trans_select_rank(gfc_code*)
../../src/gcc/fortran/trans-stmt.cc:4079
0xab8377 trans_code
../../src/gcc/fortran/trans.cc:2506
0xb6f56f gfc_trans_block_construct(gfc_code*)
../../src/gcc/fortran/trans-stmt.cc:2580
0xab8442 trans_code
../../src/gcc/fortran/trans.cc:2482
0xaf2a19 gfc_generate_function_code(gfc_namespace*)
../../src/gcc/fortran/trans-decl.cc:8346
0xabdbd1 gfc_generate_module_code(gfc_namespace*)
../../src/gcc/fortran/trans.cc:2818
0xa53525 translate_all_program_units
../../src/gcc/fortran/parse.cc:7718
0xa53525 gfc_parse_file()
../../src/gcc/fortran/parse.cc:8061
0xab4e0f gfc_be_parse_file
../../src/gcc/fortran/f95-lang.cc:249
/home/mik/gcc/gccx/build/gcc/f951 test_merge.f90
Please submit a full bug report, with preprocessed source (by using
-freport-bug).
Please include the complete backtrace with any bug report.
See <https://gcc.gnu.org/bugs/> for instructions.