Provide support for the Cray C++ compiler.  The Cray compiler defines __...

The Cray C++ compiler defines __GNUC__ and generally supports gnu extensions to C and C++. 
It does not, however, support inline assembly.  The changes here are to avoid inline assembly when
_CRAYC is asserted in the preprocessor.