------- Comment #2 from pault at gcc dot gnu dot org  2006-05-28 14:09 -------
Created an attachment (id=11524)
 --> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=11524&action=view)
Patch for the bug exposed by the fix to this and PR25098

The patch for pr25098 fixes this bug but exposes another.

module integrator

  interface
     function integrate(f,xmin,xmax)
       implicit none
       interface
          function f(x)
            real*8 :: f,x
            intent(in) :: x
          end function f
       end interface
       real*8 :: xmin, xmax, integrate
     end function integrate
  end interface
end module integrator

use integrator

real*8, external :: f
real*8 g
print *,integrate (f,0d0,3d0)
print *,integrate (g,0d0,3d0)
end

gives

[EMAIL PROTECTED] prs]# /svn-4.1/bin/gfortran pr25147.f90
 In file pr25147.f90:21

print *,integrate (f,0d0,3d0)
                  1
Error: Type/rank mismatch in argument 'f' at (1)

ie. It generates an error for OK code and doesn't catch the incorrect code!
The patch for PR25098 corrects the latter but still emits the Type/rank error.

The attached patch combines that for PR25098 and passes the correct code.

I will prepare a testcase and submit tonight.

BTW It regtests on FC5/Athlon1700....

I hope that the thesis is coming along, Tobi? 

Cheers

Paul


-- 


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

Reply via email to