! RUN: %python %S/test_errors.py %s %flang_fc1 | |
! Test that DEALLOCATE works | |
INTEGER, PARAMETER :: maxvalue=1024 | |
Type dt | |
Integer :: l = 3 | |
End Type | |
Type t | |
Type(dt),Pointer :: p | |
End Type | |
Type(t),Allocatable :: x(:) | |
Type(t),Pointer :: y(:) | |
Type(t),Pointer :: z | |
Integer :: s | |
CHARACTER(256) :: e | |
Integer, Pointer :: pi | |
Allocate(pi) | |
Allocate(x(3)) | |
Deallocate(x(2)%p) | |
Deallocate(y(2)%p) | |
Deallocate(pi) | |
Deallocate(z%p) | |
!ERROR: An allocatable or pointer component reference must be applied to a scalar base | |
Deallocate(x%p, stat=s, errmsg=e) | |
Deallocate(x, errmsg=e) | |
Deallocate(x, stat=s) | |
Deallocate(y, stat=s, errmsg=e) | |
Deallocate(y, errmsg=e) | |
Deallocate(y, stat=s) | |
Deallocate(z, stat=s, errmsg=e) | |
Deallocate(z, errmsg=e) | |
Deallocate(z, stat=s) | |
Deallocate(z, y, stat=s, errmsg=e) | |
Deallocate(z, y, errmsg=e) | |
Deallocate(z, y, stat=s) | |
End Program |