[cfe-commits] [PATCH gcc-compat] add __BYTE_ORDER__ predefined macro
nobled
nobled at dreamwidth.org
Fri Jul 27 09:48:09 PDT 2012
The __BYTE_ORDER__ predefined macro was added in GCC 4.6:
http://gcc.gnu.org/onlinedocs/gcc-4.6.0/cpp/Common-Predefined-Macros.html
It's used like the following:
#if __BYTE_ORDER__ == __ORDER_LITTLE_ENDIAN__
...
#elif __BYTE_ORDER__ == __ORDER_BIG_ENDIAN__
...
#else
#error insane architecture like the pdp-11
#endif
There's a similar macro, __FLOAT_WORD_ORDER__, but it looks like it
mainly exist to accommodate fairly obscure architectures and ARM's
old FPA instructions, so it doesn't seem nearly as useful.
The tests are updated to check for the correct(at least, based on
clang's current output) value of the macro on each target. So now the
suite will catch bugs like the one fixed in r157626. (Not sure if the
TCE pseudo-architecture is actually supposed to be big-endian or not,
but that's how it comes out right now. None of the targets in
Targets.cpp seem to ever say "BigEndian = true;" -- is it
default-initialized to true somewhere else?)
OK to commit?
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 0002-Preprocessor-add-__BYTE_ORDER__-predefined-macro.patch
Type: application/octet-stream
Size: 8603 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20120727/652623c7/attachment.obj>
More information about the cfe-commits
mailing list