! RUN: %flang_fc1 -fdebug-unparse %s 2>&1 | FileCheck %s module m1 type foo integer n integer :: m = 1 end type end module m2 use m1 interface foo module procedure f1 end interface contains type(foo) function f1(a) real, intent(in) :: a f1%n = a f1%m = 2 end end module m3 use m2 interface foo module procedure f2 end interface contains type(foo) function f2(a) double precision, intent(in) :: a f2%n = a f2%m = 3 end end program main use m3 type(foo) x !CHECK: foo(n=1_4,m=1_4) x = foo(1) print *, x !CHECK: f1(2._4) x = foo(2.) print *, x !CHECK: f2(3._8) x = foo(3.d0) print *, x end