Variable argument call does not work on 64-bit gfortran

Bob Deen Bob.Deen@jpl.nasa.gov
Tue Jun 1 07:28:00 GMT 2010


Hi Tobias...

> With all the caveats with you mentioned: If I try your program on my
> x86-64 Linux, I get the same "Segmentation fault" with 4.1.2 20070115;
> however, all my 4.2, 4.3, 4.4, 4.5, and 4.6 compiler work (including
> -flto -fwhole-program, -fwhole-file). However, I could not find anything
> in the release notes, which indicates a change, cf.
> http://gcc.gnu.org/gcc-4.2/changes.html, thus, I do not know why it now
> works and how stable it is.
> 
>> I'm also okay with moving to gfortran 4.4 if that would help
> 
> It seems as if it would help. I think 4.4 is also a good choice: It is a
> still supported version [4.3.x is also supported, but essentially no
> longer maintained] - using 4.5.0 would be an alternative, unless, you
> want to try the currently developed 4.6.

That works!  The SA installed 4.4 and it seems to be working well... all 
my (more extensive) tests passed.  Now on to building the main code.

It's a little disturbing that you don't know *why* it got fixed, but it 
is comforting to know it works in all of 4.2 to 4.6.  Hopefully it'll 
keep working moving forward!  ;-)  From my (admittedly selfish) 
perspective it would be great if you could throw the simple test case 
into the regression test suite so it doesn't inadvertently break for no 
reason (and it seems a useful capability to have, even if non-standard). 
  But it is certainly a special and non-standard case and I understand 
if you don't want to.  FYI, these routines consist of keyword-value 
argument pairs with a blank keyword indicating the end of the arg list.

Thanks for your help...

-Bob

Bob Deen  @  NASA-JPL Multimission Image Processing Lab
Bob.Deen@jpl.nasa.gov



More information about the Fortran mailing list