2 ! Tests the fix for PR38907, in which any expressions, including unary plus,
3 ! in front of the call to S_REAL_SUM_I (marked) would throw the mechanism
4 ! for correcting invalid host association.
6 ! Contributed by Dick Hendrickson <dick.hendrickson@gmail.com>
9 REAL :: S_REAL_SUM_2(10) = [(REAL (I
), I
= 1, 10)]
11 ELEMENTAL
FUNCTION S_REAL_SUM_I (A
)
16 END FUNCTION S_REAL_SUM_I
17 SUBROUTINE SA0054 (RDA
)
19 RDA
= + S_REAL_SUM_I (RDA
) ! Reported problem => ICE
20 RDA
= RDA
+ S_REAL_SUM_2 (INT (RDA
)) ! Also failed
22 ELEMENTAL
FUNCTION S_REAL_SUM_I (A
)
25 S_REAL_SUM_I
= 2.0 * A
26 END FUNCTION S_REAL_SUM_I
27 ELEMENTAL
FUNCTION S_REAL_SUM_2 (A
)
29 INTEGER, INTENT(IN
) :: A
30 S_REAL_SUM_2
= 2.0 * A
31 END FUNCTION S_REAL_SUM_2
33 end module sa0054_stuff
36 REAL :: RDA(10) = [(REAL(I
), I
= 1, 10)]
38 IF (ANY (INT (RDA
) .ne
. [(6 * I
, I
= 1, 10)])) print *, rda