90 lines · plain
1!RUN: %flang_fc1 -fdebug-unparse %s | FileCheck %s2program test3 4 type t1p5 type(t1p), pointer :: arr(:)6 end type7 type, extends(t1p) :: t1c8 end type9 type t2p10 type(t2p), pointer :: scalar11 end type12 type, extends(t2p) :: t2c13 end type14 type t3p15 type(t3p), allocatable :: arr(:)16 end type17 type, extends(t3p) :: t3c18 end type19 type t4p20 type(t4p), allocatable :: scalar21 end type22 type, extends(t4p) :: t4c23 end type24 type t5p25 class(*), pointer :: arr(:)26 end type27 type, extends(t5p) :: t5c28 end type29 type t6p30 class(*), pointer :: scalar31 end type32 type, extends(t6p) :: t6c33 end type34 type t7p35 class(*), allocatable :: arr(:)36 end type37 type, extends(t7p) :: t7c38 end type39 type t8p40 class(*), allocatable :: scalar41 end type42 type, extends(t8p) :: t8c43 end type44 45 type(t1p), target :: t1pt(1)46 type(t1p), pointer :: t1pp(:)47 type(t2p), target :: t2pt48 type(t2p), pointer :: t2pp49 type(t3p) t3pa(1)50 type(t4p) t4ps51 52 type(t1c) x153 type(t2c) x254 type(t3c) x355 type(t4c) x456 type(t5c) x557 type(t6c) x658 type(t7c) x759 type(t8c) x860 61!CHECK: x1=t1c(arr=t1pt)62 x1 = t1c(t1pt)63!CHECK: x1=t1c(arr=t1pp)64 x1 = t1c(t1pp)65!CHECK: x2=t2c(scalar=t2pt)66 x2 = t2c(t2pt)67!CHECK: x2=t2c(scalar=t2pp)68 x2 = t2c(t2pp)69!CHECK: x3=t3c(arr=t3pa)70 x3 = t3c(t3pa)71!CHECK: x4=t4c(scalar=t4ps)72 x4 = t4c(t4ps)73!CHECK: x4=t4c(scalar=t4p(scalar=NULL()))74 x4 = t4c(t4p())75!CHECK: x5=t5c(arr=t1pt)76 x5 = t5c(t1pt)77!CHECK: x5=t5c(arr=t1pp)78 x5 = t5c(t1pp)79!CHECK: x6=t6c(scalar=t2pt)80 x6 = t6c(t2pt)81!CHECK: x6=t6c(scalar=t2pp)82 x6 = t6c(t2pp)83!CHECK: x7=t7c(arr=t3pa)84 x7 = t7c(t3pa)85!CHECK: x8=t8c(scalar=t4ps)86 x8 = t8c(t4ps)87!CHECK: x8=t8c(scalar=t4p(scalar=NULL()))88 x8 = t8c(t4p())89end90