! RUN: %python %S/test_modfile.py %s %flang_fc1 MODULE M1 TYPE T1 REAL(KIND=4), DIMENSION(:, :), POINTER :: ptr => Null() END TYPE T1 TYPE O1 TYPE(T1), POINTER :: d => Null() END TYPE O1 END MODULE !Expect: m1.mod !module m1 !type::t1 !real(4),pointer::ptr(:,:)=>NULL() !end type !intrinsic::null !type::o1 !type(t1),pointer::d=>NULL() !end type !end MODULE M2 USE M1,only : & o1_prv => o1 public TYPE D1 TYPE(o1_prv), PRIVATE :: prv = o1_prv () END TYPE D1 END MODULE !Expect: m2.mod !module m2 !use m1,only:o1_prv=>o1 !type::d1 !type(o1_prv),private::prv=o1_prv(d=NULL()) !end type !end MODULE M3 USE M2 , only : d1_prv => D1 PUBLIC TYPE d1_ext TYPE(d1_prv), PRIVATE :: prv = d1_prv() END TYPE END MODULE !Expect: m3.mod !module m3 !use m2,only:o1_prv !use m2,only:d1_prv=>d1 !private::o1_prv !type::d1_ext !type(d1_prv),private::prv=d1_prv(prv=o1_prv(d=NULL())) !end type !end