rt_gccstream/gcc/testsuite/gfortran.dg/loc_1.f90

26 lines
549 B
Fortran

! { dg-do run }
! This test is here to prevent a regression in gfc_conv_intrinsic_loc.
! Taking the loc of something in a common block was a special case
! that caused in internal compiler error in gcc/expr.c, in
! expand_expr_addr_expr_1().
program test
common /targ/targ
integer targ(10)
call fn
end program test
subroutine fn
common /targ/targ
integer targ(10)
call foo (loc (targ)) ! Line that caused ICE
end subroutine fn
subroutine foo (ii)
common /targ/targ
integer targ(10)
integer ii
targ(2) = ii
end subroutine foo