xref: /minix3/external/bsd/llvm/dist/clang/test/Preprocessor/predefined-macros.c (revision 0a6a1f1d05b60e214de2f05a7310ddd1f0e590e7)
1f4a2713aSLionel Sambuc // This test verifies that the correct macros are predefined.
2f4a2713aSLionel Sambuc //
3f4a2713aSLionel Sambuc // RUN: %clang_cc1 %s -E -dM -triple i686-pc-win32 -fms-extensions -fms-compatibility \
4*0a6a1f1dSLionel Sambuc // RUN:     -fms-compatibility-version=13.00 -o - | FileCheck %s --check-prefix=CHECK-MS
5f4a2713aSLionel Sambuc // CHECK-MS: #define _INTEGRAL_MAX_BITS 64
6f4a2713aSLionel Sambuc // CHECK-MS: #define _MSC_EXTENSIONS 1
7f4a2713aSLionel Sambuc // CHECK-MS: #define _MSC_VER 1300
8f4a2713aSLionel Sambuc // CHECK-MS: #define _M_IX86 600
9f4a2713aSLionel Sambuc // CHECK-MS: #define _M_IX86_FP
10f4a2713aSLionel Sambuc // CHECK-MS: #define _WIN32 1
11*0a6a1f1dSLionel Sambuc // CHECK-MS-NOT: #define __STRICT_ANSI__
12*0a6a1f1dSLionel Sambuc // CHECK-MS-NOT: GCC
13*0a6a1f1dSLionel Sambuc // CHECK-MS-NOT: GNU
14*0a6a1f1dSLionel Sambuc // CHECK-MS-NOT: GXX
15*0a6a1f1dSLionel Sambuc //
16*0a6a1f1dSLionel Sambuc // RUN: %clang_cc1 %s -E -dM -triple x86_64-pc-win32 -fms-extensions -fms-compatibility \
17*0a6a1f1dSLionel Sambuc // RUN:     -fms-compatibility-version=13.00 -o - | FileCheck %s --check-prefix=CHECK-MS64
18*0a6a1f1dSLionel Sambuc // CHECK-MS64: #define _INTEGRAL_MAX_BITS 64
19*0a6a1f1dSLionel Sambuc // CHECK-MS64: #define _MSC_EXTENSIONS 1
20*0a6a1f1dSLionel Sambuc // CHECK-MS64: #define _MSC_VER 1300
21*0a6a1f1dSLionel Sambuc // CHECK-MS64: #define _M_AMD64 1
22*0a6a1f1dSLionel Sambuc // CHECK-MS64: #define _M_X64 1
23*0a6a1f1dSLionel Sambuc // CHECK-MS64: #define _WIN64 1
24*0a6a1f1dSLionel Sambuc // CHECK-MS64-NOT: #define __STRICT_ANSI__
25*0a6a1f1dSLionel Sambuc // CHECK-MS64-NOT: GCC
26*0a6a1f1dSLionel Sambuc // CHECK-MS64-NOT: GNU
27*0a6a1f1dSLionel Sambuc // CHECK-MS64-NOT: GXX
28*0a6a1f1dSLionel Sambuc //
29*0a6a1f1dSLionel Sambuc // RUN: %clang_cc1 %s -E -dM -triple i686-pc-win32 -fms-compatibility \
30*0a6a1f1dSLionel Sambuc // RUN:     -o - | FileCheck %s --check-prefix=CHECK-MS-STDINT
31*0a6a1f1dSLionel Sambuc // CHECK-MS-STDINT:#define __INT16_MAX__ 32767
32*0a6a1f1dSLionel Sambuc // CHECK-MS-STDINT:#define __INT32_MAX__ 2147483647
33*0a6a1f1dSLionel Sambuc // CHECK-MS-STDINT:#define __INT64_MAX__ 9223372036854775807LL
34*0a6a1f1dSLionel Sambuc // CHECK-MS-STDINT:#define __INT8_MAX__ 127
35*0a6a1f1dSLionel Sambuc // CHECK-MS-STDINT:#define __INTPTR_MAX__ 2147483647
36*0a6a1f1dSLionel Sambuc // CHECK-MS-STDINT:#define __INT_FAST16_MAX__ 32767
37*0a6a1f1dSLionel Sambuc // CHECK-MS-STDINT:#define __INT_FAST16_TYPE__ short
38*0a6a1f1dSLionel Sambuc // CHECK-MS-STDINT:#define __INT_FAST32_MAX__ 2147483647
39*0a6a1f1dSLionel Sambuc // CHECK-MS-STDINT:#define __INT_FAST32_TYPE__ int
40*0a6a1f1dSLionel Sambuc // CHECK-MS-STDINT:#define __INT_FAST64_MAX__ 9223372036854775807LL
41*0a6a1f1dSLionel Sambuc // CHECK-MS-STDINT:#define __INT_FAST64_TYPE__ long long int
42*0a6a1f1dSLionel Sambuc // CHECK-MS-STDINT:#define __INT_FAST8_MAX__ 127
43*0a6a1f1dSLionel Sambuc // CHECK-MS-STDINT:#define __INT_FAST8_TYPE__ signed char
44*0a6a1f1dSLionel Sambuc // CHECK-MS-STDINT:#define __INT_LEAST16_MAX__ 32767
45*0a6a1f1dSLionel Sambuc // CHECK-MS-STDINT:#define __INT_LEAST16_TYPE__ short
46*0a6a1f1dSLionel Sambuc // CHECK-MS-STDINT:#define __INT_LEAST32_MAX__ 2147483647
47*0a6a1f1dSLionel Sambuc // CHECK-MS-STDINT:#define __INT_LEAST32_TYPE__ int
48*0a6a1f1dSLionel Sambuc // CHECK-MS-STDINT:#define __INT_LEAST64_MAX__ 9223372036854775807LL
49*0a6a1f1dSLionel Sambuc // CHECK-MS-STDINT:#define __INT_LEAST64_TYPE__ long long int
50*0a6a1f1dSLionel Sambuc // CHECK-MS-STDINT:#define __INT_LEAST8_MAX__ 127
51*0a6a1f1dSLionel Sambuc // CHECK-MS-STDINT:#define __INT_LEAST8_TYPE__ signed char
52*0a6a1f1dSLionel Sambuc // CHECK-MS-STDINT-NOT:#define __UINT16_C_SUFFIX__ U
53*0a6a1f1dSLionel Sambuc // CHECK-MS-STDINT:#define __UINT16_MAX__ 65535
54*0a6a1f1dSLionel Sambuc // CHECK-MS-STDINT:#define __UINT16_TYPE__ unsigned short
55*0a6a1f1dSLionel Sambuc // CHECK-MS-STDINT:#define __UINT32_C_SUFFIX__ U
56*0a6a1f1dSLionel Sambuc // CHECK-MS-STDINT:#define __UINT32_MAX__ 4294967295U
57*0a6a1f1dSLionel Sambuc // CHECK-MS-STDINT:#define __UINT32_TYPE__ unsigned int
58*0a6a1f1dSLionel Sambuc // CHECK-MS-STDINT:#define __UINT64_C_SUFFIX__ ULL
59*0a6a1f1dSLionel Sambuc // CHECK-MS-STDINT:#define __UINT64_MAX__ 18446744073709551615ULL
60*0a6a1f1dSLionel Sambuc // CHECK-MS-STDINT:#define __UINT64_TYPE__ long long unsigned int
61*0a6a1f1dSLionel Sambuc // CHECK-MS-STDINT-NOT:#define __UINT8_C_SUFFIX__ U
62*0a6a1f1dSLionel Sambuc // CHECK-MS-STDINT:#define __UINT8_MAX__ 255
63*0a6a1f1dSLionel Sambuc // CHECK-MS-STDINT:#define __UINT8_TYPE__ unsigned char
64*0a6a1f1dSLionel Sambuc // CHECK-MS-STDINT:#define __UINTMAX_MAX__ 18446744073709551615ULL
65*0a6a1f1dSLionel Sambuc // CHECK-MS-STDINT:#define __UINTPTR_MAX__ 4294967295U
66*0a6a1f1dSLionel Sambuc // CHECK-MS-STDINT:#define __UINTPTR_TYPE__ unsigned int
67*0a6a1f1dSLionel Sambuc // CHECK-MS-STDINT:#define __UINTPTR_WIDTH__ 32
68*0a6a1f1dSLionel Sambuc // CHECK-MS-STDINT:#define __UINT_FAST16_MAX__ 65535
69*0a6a1f1dSLionel Sambuc // CHECK-MS-STDINT:#define __UINT_FAST16_TYPE__ unsigned short
70*0a6a1f1dSLionel Sambuc // CHECK-MS-STDINT:#define __UINT_FAST32_MAX__ 4294967295U
71*0a6a1f1dSLionel Sambuc // CHECK-MS-STDINT:#define __UINT_FAST32_TYPE__ unsigned int
72*0a6a1f1dSLionel Sambuc // CHECK-MS-STDINT:#define __UINT_FAST64_MAX__ 18446744073709551615ULL
73*0a6a1f1dSLionel Sambuc // CHECK-MS-STDINT:#define __UINT_FAST64_TYPE__ long long unsigned int
74*0a6a1f1dSLionel Sambuc // CHECK-MS-STDINT:#define __UINT_FAST8_MAX__ 255
75*0a6a1f1dSLionel Sambuc // CHECK-MS-STDINT:#define __UINT_FAST8_TYPE__ unsigned char
76*0a6a1f1dSLionel Sambuc // CHECK-MS-STDINT:#define __UINT_LEAST16_MAX__ 65535
77*0a6a1f1dSLionel Sambuc // CHECK-MS-STDINT:#define __UINT_LEAST16_TYPE__ unsigned short
78*0a6a1f1dSLionel Sambuc // CHECK-MS-STDINT:#define __UINT_LEAST32_MAX__ 4294967295U
79*0a6a1f1dSLionel Sambuc // CHECK-MS-STDINT:#define __UINT_LEAST32_TYPE__ unsigned int
80*0a6a1f1dSLionel Sambuc // CHECK-MS-STDINT:#define __UINT_LEAST64_MAX__ 18446744073709551615ULL
81*0a6a1f1dSLionel Sambuc // CHECK-MS-STDINT:#define __UINT_LEAST64_TYPE__ long long unsigned int
82*0a6a1f1dSLionel Sambuc // CHECK-MS-STDINT:#define __UINT_LEAST8_MAX__ 255
83*0a6a1f1dSLionel Sambuc // CHECK-MS-STDINT:#define __UINT_LEAST8_TYPE__ unsigned char
84f4a2713aSLionel Sambuc //
85f4a2713aSLionel Sambuc // RUN: %clang_cc1 %s -E -dM -ffast-math -o - \
86f4a2713aSLionel Sambuc // RUN:   | FileCheck %s --check-prefix=CHECK-FAST-MATH
87f4a2713aSLionel Sambuc // CHECK-FAST-MATH: #define __FAST_MATH__
88f4a2713aSLionel Sambuc // CHECK-FAST-MATH: #define __FINITE_MATH_ONLY__ 1
89f4a2713aSLionel Sambuc //
90f4a2713aSLionel Sambuc // RUN: %clang_cc1 %s -E -dM -ffinite-math-only -o - \
91f4a2713aSLionel Sambuc // RUN:   | FileCheck %s --check-prefix=CHECK-FINITE-MATH-ONLY
92f4a2713aSLionel Sambuc // CHECK-FINITE-MATH-ONLY: #define __FINITE_MATH_ONLY__ 1
93f4a2713aSLionel Sambuc //
94f4a2713aSLionel Sambuc // RUN: %clang %s -E -dM -fno-finite-math-only -o - \
95f4a2713aSLionel Sambuc // RUN:   | FileCheck %s --check-prefix=CHECK-NO-FINITE-MATH-ONLY
96f4a2713aSLionel Sambuc // CHECK-NO-FINITE-MATH-ONLY: #define __FINITE_MATH_ONLY__ 0
97f4a2713aSLionel Sambuc //
98f4a2713aSLionel Sambuc // RUN: %clang_cc1 %s -E -dM -o - \
99f4a2713aSLionel Sambuc // RUN:   | FileCheck %s --check-prefix=CHECK-FINITE-MATH-FLAG-UNDEFINED
100f4a2713aSLionel Sambuc // CHECK-FINITE-MATH-FLAG-UNDEFINED: #define __FINITE_MATH_ONLY__ 0
101f4a2713aSLionel Sambuc //
102f4a2713aSLionel Sambuc // RUN: %clang_cc1 %s -E -dM -o - -triple i686 -target-cpu i386 \
103f4a2713aSLionel Sambuc // RUN:   | FileCheck %s --check-prefix=CHECK-SYNC_CAS_I386
104f4a2713aSLionel Sambuc // CHECK-SYNC_CAS_I386-NOT: __GCC_HAVE_SYNC_COMPARE_AND_SWAP
105f4a2713aSLionel Sambuc //
106f4a2713aSLionel Sambuc // RUN: %clang_cc1 %s -E -dM -o - -triple i686 -target-cpu i486 \
107f4a2713aSLionel Sambuc // RUN:   | FileCheck %s --check-prefix=CHECK-SYNC_CAS_I486
108f4a2713aSLionel Sambuc // CHECK-SYNC_CAS_I486: __GCC_HAVE_SYNC_COMPARE_AND_SWAP_1
109f4a2713aSLionel Sambuc // CHECK-SYNC_CAS_I486: __GCC_HAVE_SYNC_COMPARE_AND_SWAP_2
110f4a2713aSLionel Sambuc // CHECK-SYNC_CAS_I486: __GCC_HAVE_SYNC_COMPARE_AND_SWAP_4
111f4a2713aSLionel Sambuc // CHECK-SYNC_CAS_I486-NOT: __GCC_HAVE_SYNC_COMPARE_AND_SWAP_8
112f4a2713aSLionel Sambuc //
113f4a2713aSLionel Sambuc // RUN: %clang_cc1 %s -E -dM -o - -triple i686 -target-cpu i586 \
114f4a2713aSLionel Sambuc // RUN:   | FileCheck %s --check-prefix=CHECK-SYNC_CAS_I586
115f4a2713aSLionel Sambuc // CHECK-SYNC_CAS_I586: __GCC_HAVE_SYNC_COMPARE_AND_SWAP_1
116f4a2713aSLionel Sambuc // CHECK-SYNC_CAS_I586: __GCC_HAVE_SYNC_COMPARE_AND_SWAP_2
117f4a2713aSLionel Sambuc // CHECK-SYNC_CAS_I586: __GCC_HAVE_SYNC_COMPARE_AND_SWAP_4
118f4a2713aSLionel Sambuc // CHECK-SYNC_CAS_I586: __GCC_HAVE_SYNC_COMPARE_AND_SWAP_8
119f4a2713aSLionel Sambuc //
120f4a2713aSLionel Sambuc // RUN: %clang_cc1 %s -E -dM -o - -triple armv6 -target-cpu arm1136j-s \
121f4a2713aSLionel Sambuc // RUN:   | FileCheck %s --check-prefix=CHECK-SYNC_CAS_ARM
122f4a2713aSLionel Sambuc // CHECK-SYNC_CAS_ARM: __GCC_HAVE_SYNC_COMPARE_AND_SWAP_1
123f4a2713aSLionel Sambuc // CHECK-SYNC_CAS_ARM: __GCC_HAVE_SYNC_COMPARE_AND_SWAP_2
124f4a2713aSLionel Sambuc // CHECK-SYNC_CAS_ARM: __GCC_HAVE_SYNC_COMPARE_AND_SWAP_4
125f4a2713aSLionel Sambuc // CHECK-SYNC_CAS_ARM: __GCC_HAVE_SYNC_COMPARE_AND_SWAP_8
126f4a2713aSLionel Sambuc //
127f4a2713aSLionel Sambuc // RUN: %clang_cc1 %s -E -dM -o - -triple armv7 -target-cpu cortex-a8 \
128f4a2713aSLionel Sambuc // RUN:   | FileCheck %s --check-prefix=CHECK-SYNC_CAS_ARMv7
129f4a2713aSLionel Sambuc // CHECK-SYNC_CAS_ARMv7: __GCC_HAVE_SYNC_COMPARE_AND_SWAP_1
130f4a2713aSLionel Sambuc // CHECK-SYNC_CAS_ARMv7: __GCC_HAVE_SYNC_COMPARE_AND_SWAP_2
131f4a2713aSLionel Sambuc // CHECK-SYNC_CAS_ARMv7: __GCC_HAVE_SYNC_COMPARE_AND_SWAP_4
132f4a2713aSLionel Sambuc // CHECK-SYNC_CAS_ARMv7: __GCC_HAVE_SYNC_COMPARE_AND_SWAP_8
133f4a2713aSLionel Sambuc //
134f4a2713aSLionel Sambuc // RUN: %clang_cc1 %s -E -dM -o - -triple armv6 -target-cpu cortex-m0 \
135f4a2713aSLionel Sambuc // RUN:   | FileCheck %s --check-prefix=CHECK-SYNC_CAS_ARMv6
136f4a2713aSLionel Sambuc // CHECK-SYNC_CAS_ARMv6-NOT: __GCC_HAVE_SYNC_COMPARE_AND_SWAP
137