summaryrefslogtreecommitdiff
path: root/gcc/testsuite/gfortran.dg/null_1.f90
blob: d367bb3de61b741c1bb7b726da147ea55c63c285 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
! { dg-do compile }
! PR fortran/20858
! If we have "x = null(i)", then "null()" acquires the type, kind type,
! and rank of i and these need to match those of x.
program null_1
   integer, parameter :: sp = kind(1.e0), dp = kind(1.d0)
   integer,  pointer :: i => null()
   real(sp), pointer :: x => null()
   real(dp), pointer :: y => null()
   real(sp), pointer :: z(:) => null()
   x => null(i)     ! { dg-error "types in pointer assignment" }
   x => null(y)     ! { dg-error "types in pointer assignment" }
   z => null(i)     ! { dg-error "types in pointer assignment" }
   z => null(y)     ! { dg-error "types in pointer assignment" }
   x => null(z)     ! { dg-error "ranks in pointer assignment" }
   z => null(x)     ! { dg-error "ranks in pointer assignment" }
   z => null(z)
   nullify(i, x, y, z)
end program null_1