This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug fortran/64138] New: gfortran interface issue
- From: "wong.david-c at epa dot gov" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: Mon, 01 Dec 2014 15:03:03 +0000
- Subject: [Bug fortran/64138] New: gfortran interface issue
- Auto-submitted: auto-generated
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64138
Bug ID: 64138
Summary: gfortran interface issue
Product: gcc
Version: 4.9.3
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: fortran
Assignee: unassigned at gcc dot gnu.org
Reporter: wong.david-c at epa dot gov
Hi,
I have created a complex number module:
module complex_number_module
implicit none
integer, parameter :: loc_real_precision = 8
type complex_number
real(kind=loc_real_precision) :: real_part, imag_part
end type complex_number
interface c_sub
module procedure c_sub_cc, & ! z1 - z2
c_sub_cr, & ! z1 - num, where num is a real
number
c_sub_rc ! num - z1, where num is a real
number
end interface
! --------------------------------------------------------------------------
type (complex_number) function c_sub_cc (z1, z2)
type (complex_number), intent(in) :: z1, z2
c_sub_cc%real_part = z1%real_part - z2%real_part
c_sub_cc%imag_part = z1%imag_part - z2%imag_part
end function c_sub_ccj
! --------------------------------------------------------------------------
type (complex_number) function c_sub_cr (z1, num)
type (complex_number), intent(in) :: z1
real(kind=loc_real_precision), intent(in) :: num
c_sub_cr%real_part = z1%real_part - num
c_sub_cr%imag_part = z1%imag_part
end function c_sub_cr
! --------------------------------------------------------------------------
type (complex_number) function c_sub_rc (num, z1)
type (complex_number), intent(in) :: z1
real(kind=loc_real_precision), intent(in) :: num
c_sub_rc%real_part = num - z1%real_part
c_sub_rc%imag_part = - z1%imag_part
end function c_sub_rc
end module complex_number_module
When I compile with gfortran (version 4.6.4), I got the following error:
module_twoway_rrtmg_aero_optical_util.F:14.85:
c_sub_rc ! num - z1, where num is a real number
1
Error: Ambiguous interfaces 'c_sub_rc' and 'c_sub_cr' in generic interface
'c_sub' at (1)
I don't see any ambiguity and I don't encounter any problem with other
compilers such pgi and ifort. Please advise.
Cheers,
David