http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55465



janus at gcc dot gnu.org changed:



           What    |Removed                     |Added

----------------------------------------------------------------------------

                 CC|                            |janus at gcc dot gnu.org



--- Comment #3 from janus at gcc dot gnu.org 2012-11-26 16:37:31 UTC ---

(In reply to comment #0)

> Essentially I am trying to use the binding to call from Fortran the same C

> function in two different ways. The interface sql_set_env_attr has two

> implementations, one sql_set_env_attr_int where the parameter value is passed

> as c_int and another one sql_set_env_attr_ptr where the parameter value is

> passed as c_ptr.



I'm not sure if this is legal. In any case, here is a reduced test case:





module m_odbc_if



  implicit none



  interface sql_set_env_attr

    function sql_set_env_attr_int( input_handle,attribute,value,length ) &

                                   result(res) bind(C,name="SQLSetEnvAttr")

      use, intrinsic :: iso_c_binding

      implicit none

      type(c_ptr), value :: input_handle

      integer(c_int), value :: attribute

      integer(c_int), value :: value

      integer(c_int), value :: length      

      integer(c_short) :: res

    end function

    function sql_set_env_attr_ptr( input_handle,attribute,value,length ) &

                                   result(res) bind(C,name="SQLSetEnvAttr")

      use, intrinsic :: iso_c_binding

      implicit none

      type(c_ptr), value :: input_handle

      integer(c_int), value :: attribute

      type(c_ptr), value :: value

      integer(c_int), value :: length      

      integer(c_short) :: res

    end function

  end interface



end module

Reply via email to