re PR fortran/35478 (internal compiler error: Segmentation fault)
authorJerry DeLisle <jvdelisle@gcc.gnu.org>
Sat, 15 Mar 2008 07:32:13 +0000 (07:32 +0000)
committerJerry DeLisle <jvdelisle@gcc.gnu.org>
Sat, 15 Mar 2008 07:32:13 +0000 (07:32 +0000)
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
gcc/testsuite/gfortran.dg/generic_16.f90 [new file with mode: 0644]

index 6467ca44af45714a2812ce174a9fd909a40bfde0..ab02e686fc71bb3af6c9f0ee9d29e12c4d87568b 100644 (file)
@@ -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 (file)
index 0000000..cb6e34d
--- /dev/null
@@ -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