111
|
1 ! PR 14771
|
|
2 ! { dg-do run }
|
|
3 ! Originally contributed by Walt Brainerd, modified for the testsuite
|
|
4 PROGRAM fc107
|
|
5
|
|
6 ! Submitted by Walt Brainerd, The Fortran Company
|
|
7 ! GNU Fortran 95 (GCC 4.1.0 20050322 (experimental))
|
|
8 ! Windows XP
|
|
9
|
|
10 ! Return value should be 3
|
|
11
|
|
12 INTEGER I, J, M(2), N(2)
|
|
13 integer, pointer :: k
|
|
14 integer, target :: l
|
|
15 INTEGER TRYME
|
|
16
|
|
17 interface
|
|
18 FUNCTION TRYyou(RTNME,HITME)
|
|
19 INTEGER RTNME(2),HITME(2), tryyou(2)
|
|
20 END function tryyou
|
|
21 end interface
|
|
22
|
|
23 m = 7
|
|
24 l = 5
|
|
25 I = 3
|
|
26 k => l
|
|
27
|
|
28 j = tryme((i),i)
|
131
|
29 if (j .ne. 3) STOP 1
|
111
|
30
|
|
31 j = tryme((k),k)
|
131
|
32 if (j .ne. 5) STOP 2
|
111
|
33
|
|
34 n = tryyou((m),m)
|
131
|
35 if (any(n .ne. 7)) STOP 3
|
111
|
36 END
|
|
37
|
|
38 INTEGER FUNCTION TRYME(RTNME,HITME)
|
|
39 INTEGER RTNME,HITME
|
|
40 HITME = 999
|
|
41 TRYME = RTNME
|
|
42 END
|
|
43
|
|
44 FUNCTION TRYyou(RTNME,HITME)
|
|
45 INTEGER RTNME(2),HITME(2), tryyou(2)
|
|
46 HITME = 999
|
|
47 TRYyou = RTNME
|
|
48 END
|