From 36193051a95f2dca22fbe613ab9820d720d69c8c Mon Sep 17 00:00:00 2001 From: Jerry DeLisle <jvdelisle@gcc.gnu.org> Date: Sat, 15 Mar 2008 07:32:13 +0000 Subject: [PATCH] re PR fortran/35478 (internal compiler error: Segmentation fault) 2008-03-15 Jerry DeLisle <jvdelisle@gcc.gnu.org> PR testsuite/35478 gfortran.dg/generic_16.f90: New test. From-SVN: r133239 --- gcc/testsuite/ChangeLog | 5 ++++ gcc/testsuite/gfortran.dg/generic_16.f90 | 34 ++++++++++++++++++++++++ 2 files changed, 39 insertions(+) create mode 100644 gcc/testsuite/gfortran.dg/generic_16.f90 diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index 6467ca44af45..ab02e686fc71 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,8 @@ +2008-03-15 Jerry DeLisle <jvdelisle@gcc.gnu.org> + + PR testsuite/35478 + gfortran.dg/generic_16.f90: New test. + 2008-03-15 Hans-Peter Nilsson <hp@axis.com> PR middle-end/35595 diff --git a/gcc/testsuite/gfortran.dg/generic_16.f90 b/gcc/testsuite/gfortran.dg/generic_16.f90 new file mode 100644 index 000000000000..cb6e34df554e --- /dev/null +++ b/gcc/testsuite/gfortran.dg/generic_16.f90 @@ -0,0 +1,34 @@ +! { dg-do compile } +! PR35478 internal compiler error: Segmentation fault +MODULE auxiliary + IMPLICIT NONE + INTEGER, PARAMETER, PRIVATE :: dp = SELECTED_REAL_KIND(15) + INTERFACE median + MODULE PROCEDURE R_valmed, I_valmed, D_valmed + END INTERFACE + PUBLIC :: median + PRIVATE :: R_valmed, I_valmed, D_valmed +CONTAINS + RECURSIVE FUNCTION D_valmed (XDONT) RESULT (res_med) + Real (kind=dp), Dimension (:), Intent (In) :: XDONT + Real (kind=dp) :: res_med + res_med = 0.0d0 + END FUNCTION D_valmed + RECURSIVE FUNCTION R_valmed (XDONT) RESULT (res_med) + Real, Dimension (:), Intent (In) :: XDONT + Real :: res_med + res_med = 0.0 + END FUNCTION R_valmed + RECURSIVE FUNCTION I_valmed (XDONT) RESULT (res_med) + Integer, Dimension (:), Intent (In) :: XDONT + Integer :: res_med + res_med = 0 + END FUNCTION I_valmed +END MODULE auxiliary +PROGRAM main + USE auxiliary + IMPLICIT NONE + INTEGER, PARAMETER :: dp = SELECTED_REAL_KIND(15) + REAL(kind=dp) :: rawData(2), data, work(3) + data = median(rawData, work) ! { dg-error "no specific function" } +END PROGRAM main -- GitLab