2 ! { dg-options "-fbounds-check" }
4 ! Test the fix for PR52162 in which the elemental and conversion
5 ! intrinsics in lines 14 and 19 would cause the bounds check to fail.
7 ! Contributed by Dominique d'Humieres <dominiq@lps.ens.fr>
9 integer(4), allocatable
:: a(:)
10 integer(8), allocatable
:: b(:)
11 real, allocatable
:: c(:)
12 allocate (b(7:11), source
= [7_8,8_8,9_8,10_8,11_8])
14 a
= b
! Implicit conversion
16 if (lbound (a
, 1) .ne
. lbound(b
, 1)) STOP 1
17 if (ubound (a
, 1) .ne
. ubound(b
, 1)) STOP 2
19 c
= sin(real(b(9:11))/100_8) ! Elemental intrinsic
21 if ((ubound(c
, 1) - lbound(c
, 1)) .ne
. 2) STOP 3
22 if (any (nint(asin(c
)*100.0) .ne
. b(9:11))) STOP 4