------- Comment #3 from burnus at gcc dot gnu dot org  2009-06-25 15:06 -------
Another example. The following two subroutines are essentially identical,
except that one has an explicit interface and one an implicit interface. The
only extra information the explicit interface provides is that the function
takes no arguments.

If one looks at the dumps, one finds:
  D.1548 = func ();
and
  func (&parm.1);
which is surely incompatible.

subroutine test1()
  integer :: array(2)
  external :: func
  integer :: func
  array = func()
end subroutine test1

subroutine test2
 integer :: array2(2)
 interface
   function func()
     integer :: func(2)
   end function func
 end interface
  array2 = func()
end subroutine test2


-- 

burnus at gcc dot gnu dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|UNCONFIRMED                 |NEW
     Ever Confirmed|0                           |1
   Last reconfirmed|0000-00-00 00:00:00         |2009-06-25 15:06:14
               date|                            |


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

Reply via email to