1! { dg-do run } 2! 3! PR 45290: [F08] pointer initialization 4! 5! Contributed by Janus Weil <janus@gcc.gnu.org> 6 7module m 8 integer, target :: t1 ! SAVE is implicit 9 integer, pointer :: p1 => t1 10end module m 11 12 13use m 14implicit none 15 16integer,target :: i0 = 2 17integer,target,dimension(1:3) :: vec = 1 18 19type :: t 20 integer, pointer :: dpc => i0 21 integer :: i = 0 22end type 23 24type (t), save, target :: u 25 26integer, pointer :: dp => i0 27integer, pointer :: dp2 => vec(2) 28integer, pointer :: dp3 => u%i 29 30dp = 5 31if (i0/=5) call abort() 32 33u%dpc = 6 34if (i0/=6) call abort() 35 36dp2 = 3 37if (vec(2)/=3) call abort() 38 39dp3 = 4 40if (u%i/=4) call abort() 41 42end 43