2 ! { dg-additional-options "-fcoarray=single -fdump-tree-original" }
4 ! Check that {L,U}{,CO}BOUND intrinsics are properly simplified.
10 type(t
) :: d(3:8) = t(7)
11 type(t
) :: e
[5:9,-1:*]
13 if (lbound(d
, 1) /= 3) call abort
14 if (lbound(d(3:5), 1) /= 1) call abort
15 if (lbound(d
%c
, 1) /= 1) call abort
16 if (ubound(d
, 1) /= 8) call abort
17 if (ubound(d(3:5), 1) /= 3) call abort
18 if (ubound(d
%c
, 1) /= 6) call abort
20 if (lcobound(e
, 1) /= 5) call abort
21 if (lcobound(e
%c
, 1) /= 5) call abort
22 if (lcobound(e
, 2) /= -1) call abort
23 if (lcobound(e
%c
, 2) /= -1) call abort
24 if (ucobound(e
, 1) /= 9) call abort
25 if (ucobound(e
%c
, 1) /= 9) call abort
26 ! no simplification for ucobound(e{,%c}, dim=2)
28 ! { dg-final { scan-tree-dump-not "bound" "original" } }
29 ! { dg-final { scan-tree-dump-not "abort" "original" } }