Mercurial > hg > CbC > CbC_gcc
comparison gcc/testsuite/gfortran.dg/elemental_subroutine_7.f90 @ 111:04ced10e8804
gcc 7
author | kono |
---|---|
date | Fri, 27 Oct 2017 22:46:09 +0900 |
parents | |
children | 84e7813d76e9 |
comparison
equal
deleted
inserted
replaced
68:561a7518be6b | 111:04ced10e8804 |
---|---|
1 ! { dg-do run } | |
2 ! | |
3 ! PR fortran/38669 | |
4 ! Loop bounds temporaries used before being defined for elemental subroutines | |
5 ! | |
6 ! Original testcase by Harald Anlauf <anlauf@gmx.de> | |
7 | |
8 program gfcbu84_main | |
9 implicit none | |
10 integer :: jplev, k_lev | |
11 integer :: p(42) | |
12 real :: r(42) | |
13 integer, pointer :: q(:) | |
14 jplev = 42 | |
15 k_lev = 1 | |
16 call random_number (r) | |
17 p = 41 * r + 1 | |
18 allocate (q(jplev)) | |
19 | |
20 q = 0 | |
21 call tq_tvgh (q(k_lev:), p(k_lev:)) | |
22 if (any (p /= q)) call abort | |
23 | |
24 q = 0 | |
25 call tq_tvgh (q(k_lev:), (p(k_lev:))) | |
26 if (any (p /= q)) call abort | |
27 | |
28 q = 0 | |
29 call tq_tvgh (q(k_lev:), (p(p(k_lev:)))) | |
30 if (any (p(p) /= q)) call abort | |
31 | |
32 deallocate (q) | |
33 | |
34 contains | |
35 elemental subroutine tq_tvgh (t, p) | |
36 integer ,intent (out) :: t | |
37 integer ,intent (in) :: p | |
38 t=p | |
39 end subroutine tq_tvgh | |
40 end program gfcbu84_main |