Open MPI logo

Open MPI Development Mailing List Archives

  |   Home   |   Support   |   FAQ   |   all Development mailing list

Subject: Re: [OMPI devel] predefined ompi_t types break strict-aliasing rules
From: Jeff Squyres (jsquyres_at_[hidden])
Date: 2009-04-30 08:16:49


On Apr 30, 2009, at 8:07 AM, Number Cruncher wrote:

> Following the discussion about ABI compatibility and type-punning of
> non
> client-visible types, I've attached a patch against 1.3.2 which
> casts to
> an opaque (void *) when OMPI_BUILDING is 0.
>
> This will prevent the compiler from trying to do any strict-aliasing
> based optimizations when the definition of the type to cast to is
> unknown.
>
> When builing Open MPI, the (void *) cast is omitted (because of the
> compiler flag "-DOMPI_BUILDING=1") and the code remains as before.
>
> This clears up all warnings for my GCC 4.1 compiler.
>

Awesome, thanks!

I have a request in to a friend who's a C++/compiler guru (he works on
Apple's next-gen C++ compiler). He promised me an email response to
my questions about this topic by tomorrow (he was somewhat slammed
this week).

-- 
Jeff Squyres
Cisco Systems