1 // RUN: %clang_cc1 -dM -triple armv7-windows -E %s | FileCheck %s
2 // RUN: %clang_cc1 -dM -fno-signed-char -triple armv7-windows -E %s \
3 // RUN:   | FileCheck %s -check-prefix CHECK-UNSIGNED-CHAR
4 
5 // CHECK: #define _INTEGRAL_MAX_BITS 64
6 // CHECK: #define _M_ARM 7
7 // CHECK: #define _M_ARMT _M_ARM
8 // CHECK: #define _M_ARM_FP 31
9 // CHECK: #define _M_ARM_NT 1
10 // CHECK: #define _M_THUMB _M_ARM
11 // CHECK: #define _WIN32 1
12 
13 
14 // CHECK: #define __ARM_PCS 1
15 // CHECK: #define __ARM_PCS_VFP 1
16 // CHECK: #define __BYTE_ORDER__ __ORDER_LITTLE_ENDIAN__
17 // CHECK: #define __INTPTR_TYPE__ int
18 // CHECK: #define __PTRDIFF_TYPE__ int
19 // CHECK: #define __SIZEOF_DOUBLE__ 8
20 // CHECK: #define __SIZEOF_FLOAT__ 4
21 // CHECK: #define __SIZEOF_INT__ 4
22 // CHECK: #define __SIZEOF_LONG_DOUBLE__ 8
23 // CHECK: #define __SIZEOF_LONG_LONG__ 8
24 // CHECK: #define __SIZEOF_LONG__ 4
25 // CHECK: #define __SIZEOF_POINTER__ 4
26 // CHECK: #define __SIZEOF_PTRDIFF_T__ 4
27 // CHECK: #define __SIZEOF_SHORT__ 2
28 // CHECK: #define __SIZEOF_SIZE_T__ 4
29 // CHECK: #define __SIZEOF_WCHAR_T__ 2
30 // CHECK: #define __SIZEOF_WINT_T__ 2
31 // CHECK: #define __SIZE_TYPE__ unsigned int
32 // CHECK: #define __UINTPTR_TYPE__ unsigned int
33 
34 // CHECK-NOT: __THUMB_INTERWORK__
35 // CHECK-NOT: __ARM_EABI__
36 // CHECK-NOT: _CHAR_UNSIGNED
37 
38 // CHECK-UNSIGNED-CHAR: #define _CHAR_UNSIGNED 1
39