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