1! Copyright 2015-2020 Free Software Foundation, Inc. 2! 3! This program is free software; you can redistribute it and/or modify 4! it under the terms of the GNU General Public License as published by 5! the Free Software Foundation; either version 3 of the License, or 6! (at your option) any later version. 7! 8! This program is distributed in the hope that it will be useful, 9! but WITHOUT ANY WARRANTY; without even the implied warranty of 10! MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 11! GNU General Public License for more details. 12! 13! You should have received a copy of the GNU General Public License 14! along with this program. If not, see <http://www.gnu.org/licenses/>. 15 16program vla 17 real, allocatable :: vla1 (:) 18 real, target, allocatable :: vla2(:, :) 19 real, pointer :: pvla2 (:, :) 20 logical :: l 21 nullify (pvla2) 22 23 allocate (vla1 (5)) ! vla1-not-allocated 24 l = allocated(vla1) ! vla1-allocated 25 26 vla1(:) = 1 27 vla1(2) = 42 ! vla1-filled 28 vla1(4) = 24 29 30 deallocate (vla1) ! vla1-modified 31 l = allocated(vla1) ! vla1-deallocated 32 33 allocate (vla2 (5, 2)) 34 vla2(:, :) = 2 35 36 pvla2 => vla2 ! pvla2-not-associated 37 l = associated(pvla2) ! pvla2-associated 38 39 pvla2(2, 1) = 42 40 41 pvla2 => null() 42 l = associated(pvla2) ! pvla2-set-to-null 43end program vla 44