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

Reply via email to