Open MPI logo

Open MPI Development Mailing List Archives

  |   Home   |   Support   |   FAQ   |   all Development mailing list

From: Ralph H Castain (rhc_at_[hidden])
Date: 2006-08-21 09:06:22


On 8/21/06 6:58 AM, "Ralf Wildenhues" <Ralf.Wildenhues_at_[hidden]> wrote:

> * Ralph H Castain wrote on Mon, Aug 21, 2006 at 02:39:51PM CEST:
>>
>> It sounds, therefore, like we are now C99 compliant and no longer C90
>> compliant at all?
>
> Well, a compiler supporting C90 plus 'long long' as an extension would
> still be ok. Surely, that's not "strictly C90". But from glancing at
> the mpi.h file in my build tree, some declarations are commented out if
> HAVE_LONG_LONG is not set. Your comments indicate that things still
> would not work with a strict C90 compiler.

True - we removed many of the HAVE_INT64 checks from within the code base
and hardcode int64_t declarations. So if int64_t is not defined and
supported (and I don't believe strict C90 does), we will barf during
compile.

Don't think it's a really big deal - just noting that the documentation may
require updating to reflect the new reality.

>
>> I don't know how big a deal that is, but if true it is something possibly
>> worth noting on our web site and in our release notes. The code will
>> definitely NOT compile unless int64_t is defined and supported.
>
> I think for Solaris 2.5.1 and Tru64 4.0, you would need a replacement
> definition, but I guess those systems aren't targets for OpenMPI either.

No idea - never heard it discussed, to be honest.

>
>> PS to Ralf: actually, quite a few systems exist today that do not support
>> long long or int64_t. The majority of computers in the world, in fact, do
>> not do so - they are in embedded systems.
>
> Right. None of them is fully C99 compliant. AFAIK, some allow (slow!)
> software emulations for long long types.
>
>> We decided that we were tasked
>> with supporting high-performance computing systems instead, and those are
>> now built almost exclusively from systems that DO support such structures.
>> Just a point of correctness... :-)
>
> Sure. For practical matters, I would always go for C99 + extensions (as
> in gcc's -std=gnu99; you could use AC_PROG_CC_STDC from Autoconf-2.60
> for some sane choices).
>
> Cheers,
> Ralf
> _______________________________________________
> devel mailing list
> devel_at_[hidden]
> http://www.open-mpi.org/mailman/listinfo.cgi/devel