/* Check that certain preprocessor macros are defined, and do some
|
/* Check that certain preprocessor macros are defined, and do some
|
consistency checks. */
|
consistency checks. */
|
/* { dg-do compile } */
|
/* { dg-do compile } */
|
|
|
const char *compiled_for = _MIPS_ARCH;
|
const char *compiled_for = _MIPS_ARCH;
|
const char *optimized_for = _MIPS_TUNE;
|
const char *optimized_for = _MIPS_TUNE;
|
|
|
#if __mips_fpr != 32 && __mips_fpr != 64
|
#if __mips_fpr != 32 && __mips_fpr != 64
|
#error Bad __mips_fpr
|
#error Bad __mips_fpr
|
#endif
|
#endif
|
|
|
/* Test complementary macro pairs: exactly one of each pair
|
/* Test complementary macro pairs: exactly one of each pair
|
must be defined. */
|
must be defined. */
|
|
|
#if defined (_R3000) == defined (_R4000) && !defined (__sgi__)
|
#if defined (_R3000) == defined (_R4000) && !defined (__sgi__)
|
#error _R3000 / _R4000 mismatch
|
#error _R3000 / _R4000 mismatch
|
#endif
|
#endif
|
|
|
#if defined (__mips_hard_float) == defined (__mips_soft_float)
|
#if defined (__mips_hard_float) == defined (__mips_soft_float)
|
#error __mips_hard_float / __mips_soft_float mismatch
|
#error __mips_hard_float / __mips_soft_float mismatch
|
#endif
|
#endif
|
|
|
#if defined (_MIPSEL) == defined (_MIPSEB)
|
#if defined (_MIPSEL) == defined (_MIPSEB)
|
#error _MIPSEL / _MIPSEB mismatch
|
#error _MIPSEL / _MIPSEB mismatch
|
#endif
|
#endif
|
|
|
/* Check for __mips64 consistency. */
|
/* Check for __mips64 consistency. */
|
|
|
#if defined (__mips64) != defined (_R4000) && !defined (__sgi__)
|
#if defined (__mips64) != defined (_R4000) && !defined (__sgi__)
|
#error __mips64 / _R4000 mismatch
|
#error __mips64 / _R4000 mismatch
|
#endif
|
#endif
|
|
|
#if defined (__mips64) && __mips != 3 && __mips != 4 && __mips != 64
|
#if defined (__mips64) && __mips != 3 && __mips != 4 && __mips != 64
|
#error __mips64 / __mips mismatch
|
#error __mips64 / __mips mismatch
|
#endif
|
#endif
|
|
|