public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug fortran/64138] New: gfortran interface issue
@ 2014-12-01 15:03 wong.david-c at epa dot gov
  2014-12-01 17:24 ` [Bug fortran/64138] " kargl at gcc dot gnu.org
                   ` (9 more replies)
  0 siblings, 10 replies; 11+ messages in thread
From: wong.david-c at epa dot gov @ 2014-12-01 15:03 UTC (permalink / raw)
  To: gcc-bugs

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


^ permalink raw reply	[flat|nested] 11+ messages in thread

end of thread, other threads:[~2014-12-06 15:03 UTC | newest]

Thread overview: 11+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2014-12-01 15:03 [Bug fortran/64138] New: gfortran interface issue wong.david-c at epa dot gov
2014-12-01 17:24 ` [Bug fortran/64138] " kargl at gcc dot gnu.org
2014-12-01 20:11 ` wong.david-c at epa dot gov
2014-12-01 20:13 ` wong.david-c at epa dot gov
2014-12-01 20:17 ` kargl at gcc dot gnu.org
2014-12-02 15:37 ` wong.david-c at epa dot gov
2014-12-02 16:05 ` sgk at troutmask dot apl.washington.edu
2014-12-02 17:13 ` dominiq at lps dot ens.fr
2014-12-02 17:29 ` sgk at troutmask dot apl.washington.edu
2014-12-02 17:36 ` dominiq at lps dot ens.fr
2014-12-06 15:03 ` dominiq at lps dot ens.fr

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).