Clang Project

clang_source_code/test/Preprocessor/wchar_t.c
1// RUN: %clang_cc1 -triple i386-pc-solaris -dM -E %s -o - | FileCheck %s -check-prefix CHECK-SOLARIS
2// CHECK-SOLARIS-DAG: #define __WCHAR_MAX__ 2147483647
3// CHECK-SOLARIS-DAG: #define __WCHAR_TYPE__ int
4// CHECK-SOLARIS-NOT: #define __WCHAR_UNSIGNED__ 0
5
6// RUN: %clang_cc1 -triple avr-unknown-unknown -fwchar-type=int -fsigned-wchar -dM -E %s -o - | FileCheck %s -check-prefix CHECK-AVR
7// CHECK-AVR-DAG: #define __WCHAR_MAX__ 32767
8// CHECK-AVR-DAG: #define __WCHAR_TYPE__ int
9// CHECK-AVR-NOT: #define __WCHAR_UNSIGNED__ 0
10
11// RUN: %clang_cc1 -triple arm-unknown-none-gnu -fsigned-wchar -dM -E %s -o - | FileCheck %s -check-prefix CHECK-ARM-APCS
12// CHECK-ARM-APCS-DAG: #define __WCHAR_MAX__ 2147483647
13// CHECK-ARM-APCS-DAG: #define __WCHAR_TYPE__ int
14// CHECK-ARM-APCS-NOT: #define __WCHAR_UNSIGNED__ 0
15
16// RUN: %clang_cc1 -triple arm-unknown-netbsd-gnu -fsigned-wchar -dM -E %s -o - | FileCheck %s -check-prefix CHECK-ARM-NETBSD-AAPCS
17// CHECK-ARM-NETBSD-AAPCS-DAG: #define __WCHAR_MAX__ 2147483647
18// CHECK-ARM-NETBSD-AAPCS-DAG: #define __WCHAR_TYPE__ int
19// CHECK-ARM-NETBSD-AAPCS-NOT: #define __WCHAR_UNSIGNED__ 0
20
21// RUN: %clang_cc1 -triple arm-unknown-openbsd -fsigned-wchar -dM -E %s -o - | FileCheck %s -check-prefix CHECK-ARM-OPENBSD
22// CHECK-ARM-OPENBSD-DAG: #define __WCHAR_MAX__ 2147483647
23// CHECK-ARM-OPENBSD-DAG: #define __WCHAR_TYPE__ int
24// CHECK-ARM-OPENBSD-NOT: #define __WCHAR_UNSIGNED__ 0
25
26// RUN: %clang_cc1 -triple arm64-apple-ios -fsigned-wchar -dM -E %s -o - | FileCheck %s -check-prefix CHECK-ARM64-DARWIN
27// CHECK-ARM64-DARWIN-DAG: #define __WCHAR_MAX__ 2147483647
28// CHECK-ARM64-DARWIN-DAG: #define __WCHAR_TYPE__ int
29// CHECK-ARM64-DARWIN-NOT: #define __WCHAR_UNSIGNED__ 0
30
31// RUN: %clang_cc1 -triple aarch64-unknown-netbsd -fsigned-wchar -dM -E %s -o - | FileCheck %s -check-prefix CHECK-ARM64-NETBSD
32// CHECK-ARM64-NETBSD-DAG: #define __WCHAR_MAX__ 2147483647
33// CHECK-ARM64-NETBSD-DAG: #define __WCHAR_TYPE__ int
34// CHECK-ARM64-NETBSD-NOT: #define __WCHAR_UNSIGNED__ 0
35
36// RUN: %clang_cc1 -triple aarch64-unknown-openbsd -fsigned-wchar -dM -E %s -o - | FileCheck %s -check-prefix CHECK-ARM64-OPENBSD
37// CHECK-ARM64-OPENBSD-DAG: #define __WCHAR_MAX__ 2147483647
38// CHECK-ARM64-OPENBSD-DAG: #define __WCHAR_TYPE__ int
39// CHECK-ARM64-OPENBSD-NOT: #define __WCHAR_UNSIGNED__ 0
40
41// RUN: %clang_cc1 -triple aarch64-unknown-none -fwchar-type=int -fno-signed-wchar -dM -E %s -o - | FileCheck %s -check-prefix CHECK-ARM64-AAPCS64
42// CHECK-ARM64-AAPCS64-DAG: #define __WCHAR_MAX__ 4294967295U
43// CHECK-ARM64-AAPCS64-DAG: #define __WCHAR_TYPE__ unsigned int
44// CHECK-ARM64-AAPCS64-DAG: #define __WCHAR_UNSIGNED__ 1
45
46// RUN: %clang_cc1 -triple xcore-unknown-unknown -fwchar-type=char -fno-signed-wchar -dM -E %s -o - | FileCheck %s -check-prefix CHECK-XCORE
47// CHECK-XCORE-DAG: #define __WCHAR_MAX__ 255
48// CHECK-XCORE-DAG: #define __WCHAR_TYPE__ unsigned char
49// CHECK-XCORE-DAG: #define __WCHAR_UNSIGNED__ 1
50
51// RUN: %clang_cc1 -triple x86_64-unknown-windows-cygnus -fwchar-type=short -fno-signed-wchar -dM -E %s -o - | FileCheck %s -check-prefix CHECK-CYGWIN-X64
52// CHECK-CYGWIN-X64-DAG: #define __WCHAR_MAX__ 65535
53// CHECK-CYGWIN-X64-DAG: #define __WCHAR_TYPE__ unsigned short
54// CHECK-CYGWIN-X64-DAG: #define __WCHAR_UNSIGNED__ 1
55
56// RUN: %clang_cc1 -triple x86_64-unknown-windows-msvc -fwchar-type=short -fno-signed-wchar -dM -E %s -o - | FileCheck %s -check-prefix CHECK-MSVC-X64
57// CHECK-MSVC-X64-DAG: #define __WCHAR_MAX__ 65535
58// CHECK-MSVC-X64-DAG: #define __WCHAR_TYPE__ unsigned short
59// CHECK-MSVC-X64-DAG: #define __WCHAR_UNSIGNED__ 1
60
61// RUN: %clang_cc1 -triple i686-unknown-windows-cygnus -fwchar-type=short -fno-signed-wchar -dM -E %s -o - | FileCheck %s -check-prefix CHECK-CYGWIN-X86
62// CHECK-CYGWIN-X86-DAG: #define __WCHAR_MAX__ 65535
63// CHECK-CYGWIN-X86-DAG: #define __WCHAR_TYPE__ unsigned short
64// CHECK-CYGWIN-X86-DAG: #define __WCHAR_UNSIGNED__ 1
65
66// RUN: %clang_cc1 -triple i686-unknown-windows-msvc -fwchar-type=short -fno-signed-wchar -dM -E %s -o - | FileCheck %s -check-prefix CHECK-MSVC-X86
67// CHECK-MSVC-X86-DAG: #define __WCHAR_MAX__ 65535
68// CHECK-MSVC-X86-DAG: #define __WCHAR_TYPE__ unsigned short
69// CHECK-MSVC-X86-DAG: #define __WCHAR_UNSIGNED__ 1
70
71// RUN: %clang_cc1 -triple x86_64-scei-ps4 -fwchar-type=short -fno-signed-wchar -dM -E %s -o - | FileCheck %s -check-prefix CHECK-PS4
72// CHECK-PS4-DAG: #define __WCHAR_MAX__ 65535
73// CHECK-PS4-DAG: #define __WCHAR_TYPE__ unsigned short
74// CHECK-PS4-DAG: #define __WCHAR_UNSIGNED__ 1
75
76// RUN: %clang_cc1 -triple thumbv7-unknown-windows-cygnus -fwchar-type=short -fno-signed-wchar -dM -E %s -o - | FileCheck %s -check-prefix CHECK-CYGWIN-ARM
77// CHECK-CYGWIN-ARM-DAG: #define __WCHAR_MAX__ 65535
78// CHECK-CYGWIN-ARM-DAG: #define __WCHAR_TYPE__ unsigned short
79// CHECK-CYGWIN-ARM-DAG: #define __WCHAR_UNSIGNED__ 1
80
81// RUN: %clang_cc1 -triple thumbv7-unknown-windows-msvc -fwchar-type=short -fno-signed-wchar -dM -E %s -o - | FileCheck %s -check-prefix CHECK-MSVC-ARM
82// CHECK-MSVC-ARM-DAG: #define __WCHAR_MAX__ 65535
83// CHECK-MSVC-ARM-DAG: #define __WCHAR_TYPE__ unsigned short
84// CHECK-MSVC-ARM-DAG: #define __WCHAR_UNSIGNED__ 1
85
86// RUN: %clang_cc1 -triple aarch64-unknown-windows-msvc -fwchar-type=short -fno-signed-wchar -dM -E %s -o - | FileCheck %s -check-prefix CHECK-MSVC-ARM64
87// CHECK-MSVC-ARM64-DAG: #define __WCHAR_MAX__ 65535
88// CHECK-MSVC-ARM64-DAG: #define __WCHAR_TYPE__ unsigned short
89// CHECK-MSVC-ARM64-DAG: #define __WCHAR_UNSIGNED__ 1
90
91// RUN: %clang_cc1 -triple i386-apple-macosx -dM -E %s -o - | FileCheck %s -check-prefix CHECK-DARWIN
92// RUN: %clang_cc1 -triple x86_64-apple-macosx -dM -E %s -o - | FileCheck %s -check-prefix CHECK-DARWIN
93// RUN: %clang_cc1 -triple ppc64-apple-macosx -dM -E %s -o - | FileCheck %s -check-prefix CHECK-DARWIN
94// RUN: %clang_cc1 -triple i386-apple-ios -dM -E %s -o - | FileCheck %s -check-prefix CHECK-DARWIN
95// RUN: %clang_cc1 -triple x86_64-apple-ios -dM -E %s -o - | FileCheck %s -check-prefix CHECK-DARWIN
96// RUN: %clang_cc1 -triple armv7-apple-ios -dM -E %s -o - | FileCheck %s -check-prefix CHECK-DARWIN
97// RUN: %clang_cc1 -triple aarch64-apple-ios -dM -E %s -o - | FileCheck %s -check-prefix CHECK-DARWIN
98// RUN: %clang_cc1 -triple i386-apple-tvos -dM -E %s -o - | FileCheck %s -check-prefix CHECK-DARWIN
99// RUN: %clang_cc1 -triple x86_64-apple-tvos -dM -E %s -o - | FileCheck %s -check-prefix CHECK-DARWIN
100// RUN: %clang_cc1 -triple armv7-apple-tvos -dM -E %s -o - | FileCheck %s -check-prefix CHECK-DARWIN
101// RUN: %clang_cc1 -triple aarch64-apple-tvos -dM -E %s -o - | FileCheck %s -check-prefix CHECK-DARWIN
102// RUN: %clang_cc1 -triple i386-apple-watchos -dM -E %s -o - | FileCheck %s -check-prefix CHECK-DARWIN
103// RUN: %clang_cc1 -triple x86_64-apple-watchos -dM -E %s -o - | FileCheck %s -check-prefix CHECK-DARWIN
104// RUN: %clang_cc1 -triple armv7-apple-watchos -dM -E %s -o - | FileCheck %s -check-prefix CHECK-DARWIN
105// RUN: %clang_cc1 -triple aarch64-apple-watchos -dM -E %s -o - | FileCheck %s -check-prefix CHECK-DARWIN
106// CHECK-DARWIN: #define __WCHAR_TYPE__ int
107
108// RUN: %clang_cc1 -triple i686-unknown-windows-msvc -fwchar-type=int -fsigned-wchar -dM -E %s -o - | FileCheck %s -check-prefix CHECK-WINDOWS-ISO10646
109// RUN: %clang_cc1 -triple x86_64-unknown-windows-msvc -fwchar-type=int -fsigned-wchar -dM -E %s -o - | FileCheck %s -check-prefix CHECK-WINDOWS-ISO10646
110// RUN: %clang_cc1 -triple thumbv7-unknown-windows-msvc -fwchar-type=int -fsigned-wchar -dM -E %s -o - | FileCheck %s -check-prefix CHECK-WINDOWS-ISO10646
111// RUN: %clang_cc1 -triple aarch64-unknown-windows-msvc -fwchar-type=int -fsigned-wchar -dM -E %s -o - | FileCheck %s -check-prefix CHECK-WINDOWS-ISO10646
112// CHECK-WINDOWS-ISO10646: #define __WCHAR_TYPE__ int
113
114