diff options
| -rw-r--r-- | gcc/testsuite/ChangeLog | 8 | ||||
| -rw-r--r-- | gcc/testsuite/gfortran.dg/sibling_dummy_procedure_1.f90 | 32 | ||||
| -rw-r--r-- | gcc/testsuite/gfortran.dg/sibling_dummy_procedure_2.f90 | 32 | ||||
| -rw-r--r-- | gcc/testsuite/gfortran.dg/sibling_dummy_procedure_3.f90 | 18 |
4 files changed, 90 insertions, 0 deletions
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index fc1aa79..a654677 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,11 @@ +2006-02-05 H.J. Lu <hongjiu.lu@intel.com> + + PR fortran/26041 + PR fortran/26064 + * gfortran.dg/sibling_dummy_procedure_1.f90: New file. + * gfortran.dg/sibling_dummy_procedure_2.f90: Likewise. + * gfortran.dg/sibling_dummy_procedure_3.f90: Likewise. + 2006-02-05 Jakub Jelinek <jakub@redhat.com> * gcc.dg/gomp/pr25990.c: Use __SIZE_TYPE__ instead of unsigned int diff --git a/gcc/testsuite/gfortran.dg/sibling_dummy_procedure_1.f90 b/gcc/testsuite/gfortran.dg/sibling_dummy_procedure_1.f90 new file mode 100644 index 0000000..f18f291 --- /dev/null +++ b/gcc/testsuite/gfortran.dg/sibling_dummy_procedure_1.f90 @@ -0,0 +1,32 @@ +! { dg-do compile } +! This checks the fix for PR 26041. +! +! Contributed by H.J. Lu <hongjiu.lu@intel.com> +module foo + public bar_ + interface bar_ + module procedure bar + end interface + public xxx_ + interface xxx_ + module procedure xxx + end interface +contains + subroutine bar(self, z) + interface + function self(z) result(res) + real z + real(kind=kind(1.0d0)) :: res + end function + end interface + end subroutine + subroutine xxx(self,z) + interface + function self(z) result(res) + real z + real(kind=kind(1.0d0)) :: res + end function + end interface + call bar(self, z) + end subroutine +end diff --git a/gcc/testsuite/gfortran.dg/sibling_dummy_procedure_2.f90 b/gcc/testsuite/gfortran.dg/sibling_dummy_procedure_2.f90 new file mode 100644 index 0000000..031a537 --- /dev/null +++ b/gcc/testsuite/gfortran.dg/sibling_dummy_procedure_2.f90 @@ -0,0 +1,32 @@ +! { dg-do compile } +! This checks the fix for PR 26041. +! +! Contributed by H.J. Lu <hongjiu.lu@intel.com> +module foo + public bar_ + interface bar_ + module procedure bar + end interface + public xxx_ + interface xxx_ + module procedure xxx + end interface +contains + subroutine bar(self, z) + interface + function self(z) result(res) + real z + real(kind=kind(1.0d0)) :: res + end function + end interface + end subroutine + subroutine xxx(self,z) + interface + function self(z) result(res) + real z + real(kind=kind(1.0d0)) :: res + end function + end interface + call bar_(self, z) + end subroutine +end diff --git a/gcc/testsuite/gfortran.dg/sibling_dummy_procedure_3.f90 b/gcc/testsuite/gfortran.dg/sibling_dummy_procedure_3.f90 new file mode 100644 index 0000000..5f1391e --- /dev/null +++ b/gcc/testsuite/gfortran.dg/sibling_dummy_procedure_3.f90 @@ -0,0 +1,18 @@ +! { dg-do compile } +! This checks the fix for PR 26064 +! +! Contributed by Sven Buijssen <sven.buijssen@math.uni-dortmund.de> +module ice + implicit none + contains + + subroutine foo() + contains + + subroutine bar(baz) + integer, optional :: baz + if (present(baz)) then + endif + end subroutine bar + end subroutine foo +end module |
