1! { dg-do compile }
2! { dg-options "-fwhole-file" }
3! Test the fix for the third problem in PR40011, where false
4! type/rank mismatches were found in the main program calls.
5!
6! Contributed by Dominique d'Humieres <dominiq@lps.ens.fr>
7!
8subroutine test_d(fn, val, res)
9  double precision fn
10  double precision val, res
11
12  print *, fn(val), res
13end subroutine
14
15subroutine test_c(fn, val, res)
16  complex fn
17  complex val, res
18
19  print *, fn(val), res
20end subroutine
21
22program specifics
23
24  intrinsic dcos
25  intrinsic dcosh
26  intrinsic dexp
27
28  intrinsic conjg
29
30  call test_d (dcos, 1d0, dcos(1d0))
31  call test_d (dcosh, 1d0, dcosh(1d0))
32  call test_d (dexp, 1d0, dexp(1d0))
33
34  call test_c (conjg, (1.0,1.0) , conjg((1.0,1.0)))
35
36end program
37