On Wednesday, February 5, 2003, at 11:42 AM, Samuel Krempp wrote:
cray, CRAY and _CRAYC are both defined in the C and C++ compilers. We can thus use either.Le mer 05/02/2003 à 10:27, Matthias Troyer a écrit :
It seems that on all Crays the macros CRAY and cray are defined. If one
wants to be machine specific, we got this information recently:
On Wednesday, January 22, 2003, at 05:58 PM, Dan Gohman wrote:
On the Cray T3D, Cray T3E, and Cray SV1, _CRAYT3D, _CRAYT3E, and _CRAYSV1 are defined.On the Cray X1, __crayx1 is defined, short is 16 bits (don't use it for int_fast16_t, though), int is 32 bits, and long is 64 bits.Until I get access to one of the new X1 machines and can test the differences I would propose to just use the CRAY or cray macro.http://www.cray.com/craydoc/manuals/004-2179-003/html-004-2179-003/ zfixedt0xpvi4i.htmlFrom
it seems _CRAYC and _RELEASE are more specifically helpful to identify
the compiler itself, rather than the machine.
since _CRAYC is just 0 or 1, it might be wise to define a BOOST_CRAYC
taking the value of _RELEASE whenever _CRAYC is nonzero, and use it in
BOOST_WORKAROUNDs in the same way as other compiler macros.
_RELEASE however could be used to distinguish older machines from the new X1 (release 4.2 is used on the X1 and at the moment only there, release 3.x on other machines).
However, releases until 3.5 were limited in their conformance to the C++ standard, so that I have tried running Boost only under release 3.6. The _RELEASE macro is 3 for both, so that we cannot distinguish 3.5 and 3.6 that way. We will just have to note that Boost has been tested only under release 3.6.
Matthias
_______________________________________________
Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost