1! PR rtl-optimization/47008 2! { dg-do run } 3! { dg-options "-Os -fno-asynchronous-unwind-tables -fschedule-insns -fsched-pressure -fno-inline" { target i?86-*-* x86_64-*-* } } 4 5program main 6 type :: t 7 integer :: i 8 character(24) :: c 9 type (t), pointer :: p 10 end type t 11 type(t), pointer :: r, p 12 allocate (p) 13 p = t (123455, "", p) 14 r => entry ("", 123456, 1, "", 99, "", p) 15 if (p%i /= 123455) STOP 1 16contains 17 function entry (x, i, j, c, k, d, p) result (q) 18 integer :: i, j, k 19 character (*) :: x, c, d 20 type (t), pointer :: p, q 21 allocate (q) 22 q = t (i, c, p) 23 end function 24end program main 25