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