On Mar 17, 2014, at 2:19 PM, Jeff Hammond <[email protected]> wrote:
So what you're saying is that users will not be able to use "-i8" or equivalent when building OpenMPI? That is quite common despite being totally evil.
Bill Long writes:
I completely agree it is both common and evil. But it is the real world. Typically, the reason is to make REAL 64-bit, but to stay clean with Fortran rules you need to make INTEGER 64-bit as well. Hence compiler switches to set the default to 64-bits.
Another quite common situation is that people actually do want default integer to be 64-bit, because they have big arrays and would run the risk of overflowing 32-bit integer subscripts. In fact I have been increasingly seeing -i8 without -r8 i.e. REAL=32bit DOUBLEPRECISION=64-bit INTEGER=64-bit, and the program uses DOUBLEPRECISION and INTEGER. Ugh. Not how I would do things but the customer is always right! (Also w.r.t. "evil", reasonable people can hold the opinion that it is Fortran's storage association feature that is evil, not the ability to specify what size default INTEGER should be. In the absence of storage association there is no reason to require default INTEGER to be the same size as anything else.) Cheers, -- ................................Malcolm Cohen, Nihon NAG, Tokyo.