diff options
Diffstat (limited to 'gcc/testsuite/gfortran.dg/assumed_shape_ranks_2.f90')
-rw-r--r-- | gcc/testsuite/gfortran.dg/assumed_shape_ranks_2.f90 | 47 |
1 files changed, 47 insertions, 0 deletions
diff --git a/gcc/testsuite/gfortran.dg/assumed_shape_ranks_2.f90 b/gcc/testsuite/gfortran.dg/assumed_shape_ranks_2.f90 new file mode 100644 index 000000000..da59213d9 --- /dev/null +++ b/gcc/testsuite/gfortran.dg/assumed_shape_ranks_2.f90 @@ -0,0 +1,47 @@ +! { dg-do run } +! Tests the fix for the regression PR26716. +! Test contributed by Martin Reinecke <martin@mpa-garching.mpg.de> +! +module mod1 + implicit none + + interface foo + module procedure foo1, foo2 + end interface + +contains + + subroutine foo1(bar, i) + real bar + integer i + i = 1 + end subroutine + + subroutine foo2(bar, i) + real bar(3) + integer i + i = 2 + end subroutine + +end module mod1 + + use mod1 + implicit none + + real bar(3) + integer i + + i = 0 + call foo (1e0, i) + if (i .ne. 1) call abort () + + i = 0 + call foo (bar(1), i) + if (i .ne. 1) call abort () + + i = 0 + call foo (bar, i) + if (i .ne. 2) call abort () +end + +! { dg-final { cleanup-modules "mod1" } } |