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