20 lines
831 B
Fortran
20 lines
831 B
Fortran
! { 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
|