How to express the fact that arguments don't escape?

Tobias Schlüter tobias.schlueter@physik.uni-muenchen.de
Fri Aug 14 23:59:00 GMT 2009


Hi,

I reviewed some old discussions on argument passing, but I found nothing 
which addressed a seemingly simple optimization for Fortran: what I 
would like to see is a way to tell the compiler that a function argument 
(which will be a pointer) will not have escaped after the function has 
returned.  I.e.
   call f(i)
   i = 1
   call g(j)  ! won't know about i
   if (i != 1) then
      can't happen
   end if

Is there a way to do this?  Unless I'm mistaken, this assumption holds 
for all non-POINTER arguments.

Cheers,
- Tobi



More information about the Fortran mailing list