From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 4217 invoked by alias); 1 Dec 2014 15:03:09 -0000 Mailing-List: contact gcc-bugs-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Id: List-Archive: List-Post: List-Help: Sender: gcc-bugs-owner@gcc.gnu.org Received: (qmail 4170 invoked by uid 48); 1 Dec 2014 15:03:05 -0000 From: "wong.david-c at epa dot gov" To: gcc-bugs@gcc.gnu.org Subject: [Bug fortran/64138] New: gfortran interface issue Date: Mon, 01 Dec 2014 15:03:00 -0000 X-Bugzilla-Reason: CC X-Bugzilla-Type: new X-Bugzilla-Watch-Reason: None X-Bugzilla-Product: gcc X-Bugzilla-Component: fortran X-Bugzilla-Version: 4.9.3 X-Bugzilla-Keywords: X-Bugzilla-Severity: normal X-Bugzilla-Who: wong.david-c at epa dot gov X-Bugzilla-Status: UNCONFIRMED X-Bugzilla-Priority: P3 X-Bugzilla-Assigned-To: unassigned at gcc dot gnu.org X-Bugzilla-Target-Milestone: --- X-Bugzilla-Flags: X-Bugzilla-Changed-Fields: bug_id short_desc product version bug_status bug_severity priority component assigned_to reporter Message-ID: Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: 7bit X-Bugzilla-URL: http://gcc.gnu.org/bugzilla/ Auto-Submitted: auto-generated MIME-Version: 1.0 X-SW-Source: 2014-12/txt/msg00101.txt.bz2 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