[multiple changes]
2007-03-16 Paul Thomas <pault@gcc.gnu.org> Tobias Burnus <burnus@net-b.de> PR fortran/31188 * expr.c (find_array_section): Allow non-expression-constant variables. 2007-03-16 Tobias Burnus <burnus@net-b.de> PR fortran/31188 * gfortran.dg/parameter_array_dummy.f90: New test. From-SVN: r122987
This commit is contained in:
parent
7c62b943ba
commit
945a98a4b2
|
@ -1063,7 +1063,13 @@ find_array_section (gfc_expr *expr, gfc_ref *ref)
|
|||
if (ref->u.ar.dimen_type[d] == DIMEN_VECTOR) /* Vector subscript. */
|
||||
{
|
||||
gcc_assert (begin);
|
||||
gcc_assert (begin->expr_type == EXPR_ARRAY);
|
||||
|
||||
if (begin->expr_type != EXPR_ARRAY)
|
||||
{
|
||||
t = FAILURE;
|
||||
goto cleanup;
|
||||
}
|
||||
|
||||
gcc_assert (begin->rank == 1);
|
||||
gcc_assert (begin->shape);
|
||||
|
||||
|
|
|
@ -0,0 +1,21 @@
|
|||
! { dg-do run}
|
||||
! PR fortran/31188
|
||||
program foo_mod
|
||||
implicit none
|
||||
character (len=1), parameter :: letters(2) = (/"a","b"/)
|
||||
call concat(1, [1])
|
||||
call concat(2, [2])
|
||||
call concat(3, [1,2])
|
||||
call concat(4, [2,1])
|
||||
call concat(5, [2,2,2])
|
||||
contains
|
||||
subroutine concat(i, ivec)
|
||||
integer, intent(in) :: i, ivec(:)
|
||||
write (*,*) i, "a" // letters(ivec)
|
||||
end subroutine concat
|
||||
end program foo_mod
|
||||
! { dg-output "1 aa" }
|
||||
! { dg-output "2 ab" }
|
||||
! { dg-output "3 aaab" }
|
||||
! { dg-output "4 abaa" }
|
||||
! { dg-output "5 ababab" }
|
Loading…
Reference in New Issue