1 // This test verifies that the correct macros are predefined.
3 // RUN: %clang_cc1 %s -E -dM -triple i686-pc-win32 -fms-compatibility \
4 // RUN: -o - | FileCheck -match-full-lines %s --check-prefix=CHECK-MS-STDINT
5 // CHECK-MS-STDINT:#define __INT16_MAX__ 32767
6 // CHECK-MS-STDINT:#define __INT32_MAX__ 2147483647
7 // CHECK-MS-STDINT:#define __INT64_MAX__ 9223372036854775807LL
8 // CHECK-MS-STDINT:#define __INT8_MAX__ 127
9 // CHECK-MS-STDINT:#define __INTPTR_MAX__ 2147483647
10 // CHECK-MS-STDINT:#define __INT_FAST16_MAX__ 32767
11 // CHECK-MS-STDINT:#define __INT_FAST16_TYPE__ short
12 // CHECK-MS-STDINT:#define __INT_FAST32_MAX__ 2147483647
13 // CHECK-MS-STDINT:#define __INT_FAST32_TYPE__ int
14 // CHECK-MS-STDINT:#define __INT_FAST64_MAX__ 9223372036854775807LL
15 // CHECK-MS-STDINT:#define __INT_FAST64_TYPE__ long long int
16 // CHECK-MS-STDINT:#define __INT_FAST8_MAX__ 127
17 // CHECK-MS-STDINT:#define __INT_FAST8_TYPE__ signed char
18 // CHECK-MS-STDINT:#define __INT_LEAST16_MAX__ 32767
19 // CHECK-MS-STDINT:#define __INT_LEAST16_TYPE__ short
20 // CHECK-MS-STDINT:#define __INT_LEAST32_MAX__ 2147483647
21 // CHECK-MS-STDINT:#define __INT_LEAST32_TYPE__ int
22 // CHECK-MS-STDINT:#define __INT_LEAST64_MAX__ 9223372036854775807LL
23 // CHECK-MS-STDINT:#define __INT_LEAST64_TYPE__ long long int
24 // CHECK-MS-STDINT:#define __INT_LEAST8_MAX__ 127
25 // CHECK-MS-STDINT:#define __INT_LEAST8_TYPE__ signed char
26 // CHECK-MS-STDINT-NOT:#define __UINT16_C_SUFFIX__ U
27 // CHECK-MS-STDINT:#define __UINT16_MAX__ 65535
28 // CHECK-MS-STDINT:#define __UINT16_TYPE__ unsigned short
29 // CHECK-MS-STDINT:#define __UINT32_C_SUFFIX__ U
30 // CHECK-MS-STDINT:#define __UINT32_MAX__ 4294967295U
31 // CHECK-MS-STDINT:#define __UINT32_TYPE__ unsigned int
32 // CHECK-MS-STDINT:#define __UINT64_C_SUFFIX__ ULL
33 // CHECK-MS-STDINT:#define __UINT64_MAX__ 18446744073709551615ULL
34 // CHECK-MS-STDINT:#define __UINT64_TYPE__ long long unsigned int
35 // CHECK-MS-STDINT-NOT:#define __UINT8_C_SUFFIX__ U
36 // CHECK-MS-STDINT:#define __UINT8_MAX__ 255
37 // CHECK-MS-STDINT:#define __UINT8_TYPE__ unsigned char
38 // CHECK-MS-STDINT:#define __UINTMAX_MAX__ 18446744073709551615ULL
39 // CHECK-MS-STDINT:#define __UINTPTR_MAX__ 4294967295U
40 // CHECK-MS-STDINT:#define __UINTPTR_TYPE__ unsigned int
41 // CHECK-MS-STDINT:#define __UINTPTR_WIDTH__ 32
42 // CHECK-MS-STDINT:#define __UINT_FAST16_MAX__ 65535
43 // CHECK-MS-STDINT:#define __UINT_FAST16_TYPE__ unsigned short
44 // CHECK-MS-STDINT:#define __UINT_FAST32_MAX__ 4294967295U
45 // CHECK-MS-STDINT:#define __UINT_FAST32_TYPE__ unsigned int
46 // CHECK-MS-STDINT:#define __UINT_FAST64_MAX__ 18446744073709551615ULL
47 // CHECK-MS-STDINT:#define __UINT_FAST64_TYPE__ long long unsigned int
48 // CHECK-MS-STDINT:#define __UINT_FAST8_MAX__ 255
49 // CHECK-MS-STDINT:#define __UINT_FAST8_TYPE__ unsigned char
50 // CHECK-MS-STDINT:#define __UINT_LEAST16_MAX__ 65535
51 // CHECK-MS-STDINT:#define __UINT_LEAST16_TYPE__ unsigned short
52 // CHECK-MS-STDINT:#define __UINT_LEAST32_MAX__ 4294967295U
53 // CHECK-MS-STDINT:#define __UINT_LEAST32_TYPE__ unsigned int
54 // CHECK-MS-STDINT:#define __UINT_LEAST64_MAX__ 18446744073709551615ULL
55 // CHECK-MS-STDINT:#define __UINT_LEAST64_TYPE__ long long unsigned int
56 // CHECK-MS-STDINT:#define __UINT_LEAST8_MAX__ 255
57 // CHECK-MS-STDINT:#define __UINT_LEAST8_TYPE__ unsigned char
59 // RUN: %clang_cc1 %s -E -dM -ffast-math -o - \
60 // RUN: | FileCheck -match-full-lines %s --check-prefix=CHECK-FAST-MATH
61 // CHECK-FAST-MATH: #define __FAST_MATH__ 1
62 // CHECK-FAST-MATH: #define __FINITE_MATH_ONLY__ 1
63 // CHECK-FAST-MATH: #define __NO_MATH_ERRNO__ 1
65 // RUN: %clang_cc1 %s -E -dM -fmath-errno -o - \
66 // RUN: | FileCheck -match-full-lines %s --check-prefix=CHECK-MATH-ERRNO
67 // CHECK-MATH-ERRNO-NOT: __NO_MATH_ERRNO__
69 // RUN: %clang %s -E -dM -fno-math-errno -o - \
70 // RUN: | FileCheck -match-full-lines %s --check-prefix=CHECK-NO-MATH-ERRNO
71 // CHECK-NO-MATH-ERRNO: #define __NO_MATH_ERRNO__ 1
73 // RUN: %clang_cc1 %s -E -dM -ffinite-math-only -o - \
74 // RUN: | FileCheck -match-full-lines %s --check-prefix=CHECK-FINITE-MATH-ONLY
75 // CHECK-FINITE-MATH-ONLY: #define __FINITE_MATH_ONLY__ 1
77 // RUN: %clang %s -E -dM -fno-finite-math-only -o - \
78 // RUN: | FileCheck -match-full-lines %s --check-prefix=CHECK-NO-FINITE-MATH-ONLY
79 // CHECK-NO-FINITE-MATH-ONLY: #define __FINITE_MATH_ONLY__ 0
81 // RUN: %clang_cc1 %s -E -dM -o - \
82 // RUN: | FileCheck -match-full-lines %s --check-prefix=CHECK-FINITE-MATH-FLAG-UNDEFINED
83 // CHECK-FINITE-MATH-FLAG-UNDEFINED: #define __FINITE_MATH_ONLY__ 0
85 // RUN: %clang_cc1 %s -E -dM -o - -triple i686 -target-cpu i386 \
86 // RUN: | FileCheck -match-full-lines %s --check-prefix=CHECK-SYNC_CAS_I386
87 // CHECK-SYNC_CAS_I386-NOT: __GCC_HAVE_SYNC_COMPARE_AND_SWAP
89 // RUN: %clang_cc1 %s -E -dM -o - -triple i686 -target-cpu i486 \
90 // RUN: | FileCheck -match-full-lines %s --check-prefix=CHECK-SYNC_CAS_I486
91 // CHECK-SYNC_CAS_I486: #define __GCC_HAVE_SYNC_COMPARE_AND_SWAP_1 1
92 // CHECK-SYNC_CAS_I486: #define __GCC_HAVE_SYNC_COMPARE_AND_SWAP_2 1
93 // CHECK-SYNC_CAS_I486: #define __GCC_HAVE_SYNC_COMPARE_AND_SWAP_4 1
94 // CHECK-SYNC_CAS_I486-NOT: __GCC_HAVE_SYNC_COMPARE_AND_SWAP_8
96 // RUN: %clang_cc1 %s -E -dM -o - -triple i686 -target-cpu i586 \
97 // RUN: | FileCheck -match-full-lines %s --check-prefix=CHECK-SYNC_CAS_I586
98 // CHECK-SYNC_CAS_I586: #define __GCC_HAVE_SYNC_COMPARE_AND_SWAP_1 1
99 // CHECK-SYNC_CAS_I586: #define __GCC_HAVE_SYNC_COMPARE_AND_SWAP_2 1
100 // CHECK-SYNC_CAS_I586: #define __GCC_HAVE_SYNC_COMPARE_AND_SWAP_4 1
101 // CHECK-SYNC_CAS_I586: #define __GCC_HAVE_SYNC_COMPARE_AND_SWAP_8 1
103 // RUN: %clang_cc1 %s -E -dM -o - -triple armv6 -target-cpu arm1136j-s \
104 // RUN: | FileCheck -match-full-lines %s --check-prefix=CHECK-SYNC_CAS_ARM
105 // CHECK-SYNC_CAS_ARM: #define __GCC_HAVE_SYNC_COMPARE_AND_SWAP_1 1
106 // CHECK-SYNC_CAS_ARM: #define __GCC_HAVE_SYNC_COMPARE_AND_SWAP_2 1
107 // CHECK-SYNC_CAS_ARM: #define __GCC_HAVE_SYNC_COMPARE_AND_SWAP_4 1
108 // CHECK-SYNC_CAS_ARM: #define __GCC_HAVE_SYNC_COMPARE_AND_SWAP_8 1
110 // RUN: %clang_cc1 %s -E -dM -o - -triple armv7 -target-cpu cortex-a8 \
111 // RUN: | FileCheck -match-full-lines %s --check-prefix=CHECK-SYNC_CAS_ARMv7
112 // CHECK-SYNC_CAS_ARMv7: #define __GCC_HAVE_SYNC_COMPARE_AND_SWAP_1 1
113 // CHECK-SYNC_CAS_ARMv7: #define __GCC_HAVE_SYNC_COMPARE_AND_SWAP_2 1
114 // CHECK-SYNC_CAS_ARMv7: #define __GCC_HAVE_SYNC_COMPARE_AND_SWAP_4 1
115 // CHECK-SYNC_CAS_ARMv7: #define __GCC_HAVE_SYNC_COMPARE_AND_SWAP_8 1
117 // RUN: %clang_cc1 %s -E -dM -o - -triple armv6 -target-cpu cortex-m0 \
118 // RUN: | FileCheck -match-full-lines %s --check-prefix=CHECK-SYNC_CAS_ARMv6
119 // CHECK-SYNC_CAS_ARMv6-NOT: __GCC_HAVE_SYNC_COMPARE_AND_SWAP
121 // RUN: %clang_cc1 %s -E -dM -o - -triple mips -target-cpu mips1 \
122 // RUN: | FileCheck -match-full-lines %s --check-prefix=CHECK-SYNC_CAS_MIPS32_MIPS1
123 // RUN: %clang_cc1 %s -E -dM -o - -triple mips -target-cpu mips2 \
124 // RUN: | FileCheck -match-full-lines %s --check-prefix=CHECK-SYNC_CAS_MIPS \
125 // RUN: --check-prefix=CHECK-SYNC_CAS_MIPS32
126 // RUN: %clang_cc1 %s -E -dM -o - -triple mips64 -target-cpu mips3 \
127 // RUN: | FileCheck -match-full-lines %s --check-prefix=CHECK-SYNC_CAS_MIPS \
128 // RUN: --check-prefix=CHECK-SYNC_CAS_MIPS64
129 // CHECK-SYNC_CAS_MIPS32_MIPS1-NOT: __GCC_HAVE_SYNC_COMPARE_AND_SWAP
130 // CHECK-SYNC_CAS_MIPS: #define __GCC_HAVE_SYNC_COMPARE_AND_SWAP_1 1
131 // CHECK-SYNC_CAS_MIPS: #define __GCC_HAVE_SYNC_COMPARE_AND_SWAP_2 1
132 // CHECK-SYNC_CAS_MIPS: #define __GCC_HAVE_SYNC_COMPARE_AND_SWAP_4 1
133 // CHECK-SYNC_CAS_MIPS32-NOT: __GCC_HAVE_SYNC_COMPARE_AND_SWAP_8
134 // CHECK-SYNC_CAS_MIPS64: #define __GCC_HAVE_SYNC_COMPARE_AND_SWAP_8 1
136 // RUN: %clang_cc1 %s -E -dM -o - -x cl \
137 // RUN: | FileCheck -match-full-lines %s --check-prefix=CHECK-CL12
138 // RUN: %clang_cc1 %s -E -dM -o - -x cl -cl-std=CL1.0 \
139 // RUN: | FileCheck -match-full-lines %s --check-prefix=CHECK-CL10
140 // RUN: %clang_cc1 %s -E -dM -o - -x cl -cl-std=CL1.1 \
141 // RUN: | FileCheck -match-full-lines %s --check-prefix=CHECK-CL11
142 // RUN: %clang_cc1 %s -E -dM -o - -x cl -cl-std=CL1.2 \
143 // RUN: | FileCheck -match-full-lines %s --check-prefix=CHECK-CL12
144 // RUN: %clang_cc1 %s -E -dM -o - -x cl -cl-std=CL2.0 \
145 // RUN: | FileCheck -match-full-lines %s --check-prefix=CHECK-CL20
146 // RUN: %clang_cc1 %s -E -dM -o - -x cl -cl-std=CL3.0 \
147 // RUN: | FileCheck -match-full-lines %s --check-prefix=CHECK-CL30
148 // RUN: %clang_cc1 %s -E -dM -o - -x cl -cl-fast-relaxed-math \
149 // RUN: | FileCheck -match-full-lines %s --check-prefix=CHECK-FRM
150 // RUN: %clang_cc1 %s -E -dM -o - -x cl -cl-std=clc++ \
151 // RUN: | FileCheck -match-full-lines %s --check-prefix=CHECK-CLCPP10
152 // RUN: %clang_cc1 %s -E -dM -o - -x cl -cl-std=clc++1.0 \
153 // RUN: | FileCheck -match-full-lines %s --check-prefix=CHECK-CLCPP10
154 // RUN: %clang_cc1 %s -E -dM -o - -x cl -cl-std=clc++2021 \
155 // RUN: | FileCheck -match-full-lines %s --check-prefix=CHECK-CLCPP2021
156 // CHECK-CL10: #define CL_VERSION_1_0 100
157 // CHECK-CL10: #define CL_VERSION_1_1 110
158 // CHECK-CL10: #define CL_VERSION_1_2 120
159 // CHECK-CL10: #define CL_VERSION_2_0 200
160 // CHECK-CL10: #define CL_VERSION_3_0 300
161 // CHECK-CL10: #define __OPENCL_C_VERSION__ 100
162 // CHECK-CL10-NOT: #define __FAST_RELAXED_MATH__ 1
163 // CHECK-CL11: #define CL_VERSION_1_0 100
164 // CHECK-CL11: #define CL_VERSION_1_1 110
165 // CHECK-CL11: #define CL_VERSION_1_2 120
166 // CHECK-CL11: #define CL_VERSION_2_0 200
167 // CHECK-CL11: #define CL_VERSION_3_0 300
168 // CHECK-CL11: #define __OPENCL_C_VERSION__ 110
169 // CHECK-CL11-NOT: #define __FAST_RELAXED_MATH__ 1
170 // CHECK-CL12: #define CL_VERSION_1_0 100
171 // CHECK-CL12: #define CL_VERSION_1_1 110
172 // CHECK-CL12: #define CL_VERSION_1_2 120
173 // CHECK-CL12: #define CL_VERSION_2_0 200
174 // CHECK-CL12: #define CL_VERSION_3_0 300
175 // CHECK-CL12: #define __OPENCL_C_VERSION__ 120
176 // CHECK-CL12-NOT: #define __FAST_RELAXED_MATH__ 1
177 // CHECK-CL20: #define CL_VERSION_1_0 100
178 // CHECK-CL20: #define CL_VERSION_1_1 110
179 // CHECK-CL20: #define CL_VERSION_1_2 120
180 // CHECK-CL20: #define CL_VERSION_2_0 200
181 // CHECK-CL20: #define CL_VERSION_3_0 300
182 // CHECK-CL20: #define __OPENCL_C_VERSION__ 200
183 // CHECK-CL20-NOT: #define __FAST_RELAXED_MATH__ 1
184 // CHECK-CL30: #define CL_VERSION_1_0 100
185 // CHECK-CL30: #define CL_VERSION_1_1 110
186 // CHECK-CL30: #define CL_VERSION_1_2 120
187 // CHECK-CL30: #define CL_VERSION_2_0 200
188 // CHECK-CL30: #define CL_VERSION_3_0 300
189 // CHECK-CL30: #define __OPENCL_C_VERSION__ 300
190 // CHECK-CL30-NOT: #define __FAST_RELAXED_MATH__ 1
191 // CHECK-FRM: #define __FAST_RELAXED_MATH__ 1
192 // CHECK-CLCPP10: #define __CL_CPP_VERSION_1_0__ 100
193 // CHECK-CLCPP10: #define __CL_CPP_VERSION_2021__ 202100
194 // CHECK-CLCPP10: #define __OPENCL_CPP_VERSION__ 100
195 // CHECK-CLCPP10-NOT: #define __FAST_RELAXED_MATH__ 1
196 // CHECK-CLCPP10-NOT: #define __ENDIAN_LITTLE__ 1
197 // CHECK-CLCPP2021: #define __CL_CPP_VERSION_1_0__ 100
198 // CHECK-CLCPP2021: #define __CL_CPP_VERSION_2021__ 202100
199 // CHECK-CLCPP2021: #define __OPENCL_CPP_VERSION__ 202100
200 // CHECK-CLCPP2021-NOT: #define __FAST_RELAXED_MATH__ 1
201 // CHECK-CLCPP2021-NOT: #define __ENDIAN_LITTLE__ 1
203 // RUN: %clang_cc1 %s -E -dM -o - -x cl \
204 // RUN: | FileCheck %s --check-prefix=MSCOPE
205 // MSCOPE:#define __OPENCL_MEMORY_SCOPE_ALL_SVM_DEVICES 3
206 // MSCOPE:#define __OPENCL_MEMORY_SCOPE_DEVICE 2
207 // MSCOPE:#define __OPENCL_MEMORY_SCOPE_SUB_GROUP 4
208 // MSCOPE:#define __OPENCL_MEMORY_SCOPE_WORK_GROUP 1
209 // MSCOPE:#define __OPENCL_MEMORY_SCOPE_WORK_ITEM 0
211 // RUN: %clang_cc1 %s -E -dM -o - -x cl -triple spir-unknown-unknown \
212 // RUN: | FileCheck -match-full-lines %s --check-prefix=CHECK-SPIR
213 // CHECK-SPIR-DAG: #define __IMAGE_SUPPORT__ 1
214 // CHECK-SPIR-DAG: #define __SPIR__ 1
215 // CHECK-SPIR-DAG: #define __SPIR32__ 1
216 // CHECK-SPIR-NOT: #define __SPIR64__ 1
218 // RUN: %clang_cc1 %s -E -dM -o - -x cl -triple spir64-unknown-unknown \
219 // RUN: | FileCheck -match-full-lines %s --check-prefix=CHECK-SPIR64
220 // CHECK-SPIR64-DAG: #define __IMAGE_SUPPORT__ 1
221 // CHECK-SPIR64-DAG: #define __SPIR__ 1
222 // CHECK-SPIR64-DAG: #define __SPIR64__ 1
223 // CHECK-SPIR64-NOT: #define __SPIR32__ 1
225 // RUN: %clang_cc1 %s -E -dM -o - -x cl -triple spirv32-unknown-unknown \
226 // RUN: | FileCheck -match-full-lines %s --check-prefix=CHECK-SPIRV32
227 // CHECK-SPIRV32-DAG: #define __IMAGE_SUPPORT__ 1
228 // CHECK-SPIRV32-DAG: #define __SPIRV__ 1
229 // CHECK-SPIRV32-DAG: #define __SPIRV32__ 1
230 // CHECK-SPIRV32-NOT: #define __SPIRV64__ 1
232 // RUN: %clang_cc1 %s -E -dM -o - -x cl -triple spirv64-unknown-unknown \
233 // RUN: | FileCheck -match-full-lines %s --check-prefix=CHECK-SPIRV64
234 // CHECK-SPIRV64-DAG: #define __IMAGE_SUPPORT__ 1
235 // CHECK-SPIRV64-DAG: #define __SPIRV__ 1
236 // CHECK-SPIRV64-DAG: #define __SPIRV64__ 1
237 // CHECK-SPIRV64-NOT: #define __SPIRV32__ 1
239 // RUN: %clang_cc1 %s -E -dM -o - -x hip -triple x86_64-unknown-linux-gnu \
240 // RUN: | FileCheck -match-full-lines %s --check-prefix=CHECK-HIP
241 // CHECK-HIP: #define __HIPCC__ 1
242 // CHECK-HIP: #define __HIP__ 1
244 // RUN: %clang_cc1 %s -E -dM -o - -x cuda -triple x86_64-unknown-linux-gnu \
245 // RUN: | FileCheck -match-full-lines %s --check-prefix=CHECK-CUDA-NEG
246 // CHECK-CUDA-NEG-NOT: #define __CLANG_RDC__ 1
248 // RUN: %clang_cc1 %s -E -dM -o - -x hip -triple x86_64-unknown-linux-gnu \
249 // RUN: | FileCheck -match-full-lines %s --check-prefix=CHECK-HIP-NEG
250 // CHECK-HIP-NEG-NOT: #define __CUDA_ARCH__
251 // CHECK-HIP-NEG-NOT: #define __HIP_DEVICE_COMPILE__ 1
252 // CHECK-HIP-NEG-NOT: #define __CLANG_RDC__ 1
253 // CHECK-HIP-NEG-NOT: #define HIP_API_PER_THREAD_DEFAULT_STREAM
255 // RUN: %clang_cc1 %s -E -dM -o - -x hip -triple amdgcn-amd-amdhsa \
256 // RUN: -fcuda-is-device \
257 // RUN: | FileCheck -match-full-lines %s --check-prefix=CHECK-HIP-DEV
258 // CHECK-HIP-DEV: #define __HIPCC__ 1
259 // CHECK-HIP-DEV: #define __HIP_DEVICE_COMPILE__ 1
260 // CHECK-HIP-DEV: #define __HIP__ 1
262 // RUN: %clang_cc1 %s -E -dM -o - -x cuda -triple nvptx \
263 // RUN: -fcuda-is-device \
264 // RUN: | FileCheck -match-full-lines %s --check-prefix=CHECK-CUDA-DEV-NEG
265 // CHECK-CUDA-DEV-NEG-NOT: #define __CLANG_RDC__ 1
267 // RUN: %clang_cc1 %s -E -dM -o - -x hip -triple amdgcn-amd-amdhsa \
268 // RUN: -fcuda-is-device \
269 // RUN: | FileCheck -match-full-lines %s --check-prefix=CHECK-HIP-DEV-NEG
270 // CHECK-HIP-DEV-NEG-NOT: #define __CUDA_ARCH__
271 // CHECK-HIP-DEV-NEG-NOT: #define __CLANG_RDC__ 1
272 // CHECK-HIP-DEV-NEG-NOT: #define HIP_API_PER_THREAD_DEFAULT_STREAM
274 // RUN: %clang_cc1 %s -E -dM -o - -x cuda -triple x86_64-unknown-linux-gnu \
275 // RUN: -fgpu-rdc | FileCheck %s --check-prefix=CHECK-RDC
276 // RUN: %clang_cc1 %s -E -dM -o - -x cuda -triple nvptx \
277 // RUN: -fgpu-rdc -fcuda-is-device \
278 // RUN: | FileCheck %s --check-prefix=CHECK-RDC
279 // RUN: %clang_cc1 %s -E -dM -o - -x hip -triple x86_64-unknown-linux-gnu \
280 // RUN: -fgpu-rdc | FileCheck %s --check-prefix=CHECK-RDC
281 // RUN: %clang_cc1 %s -E -dM -o - -x hip -triple amdgcn-amd-amdhsa \
282 // RUN: -fgpu-rdc -fcuda-is-device \
283 // RUN: | FileCheck -match-full-lines %s --check-prefix=CHECK-RDC
284 // CHECK-RDC: #define __CLANG_RDC__ 1
286 // RUN: %clang_cc1 %s -E -dM -o - -x hip -triple x86_64-unknown-linux-gnu \
287 // RUN: -fgpu-default-stream=per-thread \
288 // RUN: | FileCheck -match-full-lines %s --check-prefix=CHECK-PTH
289 // RUN: %clang_cc1 %s -E -dM -o - -x hip -triple amdgcn-amd-amdhsa \
290 // RUN: -fcuda-is-device -fgpu-default-stream=per-thread \
291 // RUN: | FileCheck -match-full-lines %s --check-prefix=CHECK-PTH
292 // CHECK-PTH: #define HIP_API_PER_THREAD_DEFAULT_STREAM 1
294 // RUN: %clang_cc1 %s -E -dM -o - -x hip --hipstdpar -triple x86_64-unknown-linux-gnu \
295 // RUN: | FileCheck -match-full-lines %s --check-prefix=CHECK-HIPSTDPAR
296 // CHECK-HIPSTDPAR: #define __HIPSTDPAR__ 1
297 // CHECK-HIPSTDPAR-NOT: #define __HIPSTDPAR_INTERPOSE_ALLOC__ 1
299 // RUN: %clang_cc1 %s -E -dM -o - -x hip --hipstdpar --hipstdpar-interpose-alloc \
300 // RUN: -triple x86_64-unknown-linux-gnu | FileCheck -match-full-lines %s \
301 // RUN: --check-prefix=CHECK-HIPSTDPAR-INTERPOSE
302 // CHECK-HIPSTDPAR-INTERPOSE: #define __HIPSTDPAR_INTERPOSE_ALLOC__ 1
303 // CHECK-HIPSTDPAR-INTERPOSE: #define __HIPSTDPAR__ 1
305 // RUN: %clang_cc1 %s -E -dM -o - -x hip --hipstdpar --hipstdpar-interpose-alloc \
306 // RUN: -triple amdgcn-amd-amdhsa -fcuda-is-device | FileCheck -match-full-lines \
307 // RUN: %s --check-prefix=CHECK-HIPSTDPAR-INTERPOSE-DEV-NEG
308 // CHECK-HIPSTDPAR-INTERPOSE-DEV-NEG: #define __HIPSTDPAR__ 1
309 // CHECK-HIPSTDPAR-INTERPOSE-DEV-NEG-NOT: #define __HIPSTDPAR_INTERPOSE_ALLOC__ 1