Re: Issue from IVF 9.0 to IVF 10.1
- From: "Marco Ppower" <TOGLItencas@xxxxxxxxxxxx>
- Date: Thu, 31 Jul 2008 15:50:49 +0200
"mecej4" ha scritto nel messaggio...
As has been pointed out already, you pass 13 arguments to a subroutine
which has been declared with 12. Real*8 arrays are passed where Integer*4
variables (possibly, this is scratch pad memory) are expected. While a
compiler following the Cdecl convention may produce an executable without
any complaints, it does not follow that the program will work correctly
and do what is expected.
The variable KEXIT is undefined, since the subroutine does not know that
it is the 13th argument. The same section of array A is used for the 3rd
and 4th arguments. Is that proper?
It is possible, but unlikely, that despite all these dubious practices the
program gave you the correct results. What you have seen are examples of
bugs that can go undetected for years. When, for some reason, the compiler
or compiler options change or the runtime library changes you may be
surprised by failure to work correctly and start suspecting that the
compiler or the runtime have bugs.
Well, the Fortran source code I'm dealing with has been written more than 15
years ago and it's still being maintained and expanded with those
development practices.
Those functions, which are mixing array and scalar values, and integer with
double ones in the same matrix, are handled in that strange way from more
than a dozen of years. This morning I talked about it with the author of
that code and he stated that such changes - in order to fix the errors
generated of a bit serious type checking - from those practices mean to
trash almost everything.
M
.
- References:
- Issue from IVF 9.0 to IVF 10.1
- From: Marco Ppower
- Re: Issue from IVF 9.0 to IVF 10.1
- From: mecej4
- Issue from IVF 9.0 to IVF 10.1
- Prev by Date: Re: new Sun Studio Express release
- Next by Date: Re: ELEMENTAL functions and performance
- Previous by thread: Re: Issue from IVF 9.0 to IVF 10.1
- Next by thread: new Sun Studio Express release
- Index(es):
Relevant Pages
|