1*1bea0347SPeter Klausler! RUN: %python %S/test_modfile.py %s %flang_fc1 2*1bea0347SPeter Klausler! Test derived type renaming in initializers necessary to avoid 3*1bea0347SPeter Klausler! clashing with local names 4*1bea0347SPeter Klauslermodule m 5*1bea0347SPeter Klausler use, intrinsic :: iso_c_binding, only: & 6*1bea0347SPeter Klausler c_ptr, c_funptr, c_null_ptr, c_null_funptr 7*1bea0347SPeter Klausler real, private :: __builtin_c_ptr, __builtin_c_funptr 8*1bea0347SPeter Klausler type mydt 9*1bea0347SPeter Klausler type(c_funptr) :: component = c_null_funptr 10*1bea0347SPeter Klausler end type 11*1bea0347SPeter Klausler type(c_ptr), parameter :: namedConst = c_null_ptr 12*1bea0347SPeter Klauslerend 13*1bea0347SPeter Klausler 14*1bea0347SPeter Klausler!Expect: m.mod 15*1bea0347SPeter Klausler!module m 16*1bea0347SPeter Klausler!use,intrinsic::__fortran_builtins,only:__fortran_builtins$__builtin_c_ptr=>__builtin_c_ptr 17*1bea0347SPeter Klausler!use,intrinsic::__fortran_builtins,only:__fortran_builtins$__builtin_c_funptr=>__builtin_c_funptr 18*1bea0347SPeter Klausler!use,intrinsic::iso_c_binding,only:c_ptr 19*1bea0347SPeter Klausler!use,intrinsic::iso_c_binding,only:c_funptr 20*1bea0347SPeter Klausler!use,intrinsic::iso_c_binding,only:c_null_ptr 21*1bea0347SPeter Klausler!use,intrinsic::iso_c_binding,only:c_null_funptr 22*1bea0347SPeter Klausler!private::__fortran_builtins$__builtin_c_ptr 23*1bea0347SPeter Klausler!private::__fortran_builtins$__builtin_c_funptr 24*1bea0347SPeter Klausler!real(4),private::__builtin_c_ptr 25*1bea0347SPeter Klausler!real(4),private::__builtin_c_funptr 26*1bea0347SPeter Klausler!type::mydt 27*1bea0347SPeter Klausler!type(c_funptr)::component=__fortran_builtins$__builtin_c_funptr(__address=0_8) 28*1bea0347SPeter Klausler!end type 29*1bea0347SPeter Klausler!type(c_ptr),parameter::namedconst=__fortran_builtins$__builtin_c_ptr(__address=0_8) 30*1bea0347SPeter Klausler!end 31