1! { dg-do run }
2!
3! PR fortran/38859
4! Wrong bounds simplification
5!
6! Contributed by Dick Hendrickson <dick.hendrickson@gmail.com>
7
8       type x
9         integer I
10       end type x
11       type (x) A(0:5, 2:8)
12       integer ida(2)
13
14       ida = lbound(a)
15       if (any(ida /= (/0,2/))) call abort
16
17       ida = lbound(a%i)
18       if (any(ida /= (/1,1/))) call abort
19
20       ida = ubound(a)
21       if (any(ida /= (/5,8/))) call abort
22
23       ida = ubound(a%i)
24       if (any(ida /= (/6,7/))) call abort
25
26       end
27