summaryrefslogtreecommitdiff
path: root/gcc/testsuite/gcc.target/mips/args-1.c
blob: 56def9488a347c083a706b0fd06e1b68ae665ac1 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
/* Check that certain preprocessor macros are defined, and do some
   consistency checks.  */
/* { dg-do compile } */

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