2018-03-15 Steven G. Kargl <kargl@gcc.gnu.org>
[official-gcc.git] / gcc / testsuite / gfortran.dg / pr47008.f03
blobe35f8399b736bd3883508222359c2794201e5300
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-*-* } }
5 program 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
16 contains
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
24 end program main