summaryrefslogtreecommitdiff
path: root/gcc/testsuite/gfortran.dg/allocate_with_mold_4.f90
blob: d545fe1249f1ba7f45630f02a1d126df87eaba3e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
program A_M
  implicit none
  real, parameter :: C(5:10) = 5.0
  real, dimension (:), allocatable :: A, B
  allocate (A(6))
  call Init (A)
contains
  subroutine Init ( A )
    real, dimension ( -1 : ), intent ( in ) :: A
    integer, dimension ( 1 ) :: lb_B

    allocate (B, mold = A)
    if (any (lbound (B) /= lbound (A))) stop 1
    if (any (ubound (B) /= ubound (A))) stop 2
    if (any (shape (B) /= shape (A))) stop 3
    if (size (B) /= size (A)) stop 4
    deallocate (B)
    allocate (B, mold = C)
    if (any (lbound (B) /= lbound (C))) stop 5
    if (any (ubound (B) /= ubound (C))) stop 6
    if (any (shape (B) /= shape (C))) stop 7
    if (size (B) /= size (C)) stop 8
end
end