summaryrefslogtreecommitdiff
path: root/gcc/testsuite/gfortran.dg/generic_16.f90
blob: 501e146bcc1d1f6da2fd47e0e23120ff1a4c7cd4 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
! { 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
! { dg-final { cleanup-modules "auxiliary" } }