diff options
Diffstat (limited to 'gcc/testsuite/gfortran.dg/entry_10.f90')
-rw-r--r-- | gcc/testsuite/gfortran.dg/entry_10.f90 | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/gcc/testsuite/gfortran.dg/entry_10.f90 b/gcc/testsuite/gfortran.dg/entry_10.f90 new file mode 100644 index 000000000..154d44ea9 --- /dev/null +++ b/gcc/testsuite/gfortran.dg/entry_10.f90 @@ -0,0 +1,36 @@ +! { dg-do run } +! Test fix for PR31474, in which the use of ENTRYs as module +! procedures in a generic interface would cause an internal error. +! +! Contributed by Michael Richmond <michael.a.richmond@nasa.gov> +! +module a + interface b + module procedure c, d + end interface +contains + real function d (i) + real c, i + integer j + d = 1.0 + return + entry c (j) + d = 2.0 + end function + real function e (i) + real f, i + integer j + e = 3.0 + return + entry f (j) + e = 4.0 + end function +end module + + use a + if (b (1.0) .ne. 1.0) call abort () + if (b (1 ) .ne. 2.0) call abort () + if (e (1.0) .ne. 3.0) call abort () + if (f (1 ) .ne. 4.0) call abort () +end +! { dg-final { cleanup-modules "a" } } |