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

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 worth bothering with.

(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?)

While adding the preprocessor tests for it I noticed some oversights
that the other three patches fix:

- add NVPTX and NVPTX64 predefined macro tests
- add tests for __OPTIMIZE_SIZE__, which uncovered an overflow bug with -Oz
- add more positive tests for _LP64 and __LP64__ that should have
existed on e.g. mips64, as well as negative tests to all the other,
32-bit architectures.


Okay to commit?

Attachment: 0001-test-Preprocessor-add-NVPTX-predefine-tests.patch
Description: Binary data

Attachment: 0002-Preprocessor-add-__BYTE_ORDER__-predefined-macro.patch
Description: Binary data

Attachment: 0003-test-Preprocessor-test-__OPTIMIZE_SIZE__-and-__NO_IN.patch
Description: Binary data

Attachment: 0004-Frontend-define-_LP64-in-a-target-independent-way.patch
Description: Binary data

_______________________________________________
cfe-commits mailing list
[email protected]
http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits

Reply via email to