blob: 963b282c016b53c9455277b52b83e587a0c82e70 [file] [log] [blame]
Stephen Hines6bcf27b2014-05-29 04:14:42 -07001// RUN: %clang_cc1 -triple mips-none-linux-gnu -emit-llvm -w -o - %s | FileCheck --check-prefix=ALL --check-prefix=O32 %s
2// RUN: %clang_cc1 -triple mips64-none-linux-gnu -emit-llvm -w -target-abi n32 -o - %s | FileCheck --check-prefix=ALL --check-prefix=N32 %s
3// RUN: %clang_cc1 -triple mips64-none-linux-gnu -emit-llvm -w -o - %s | FileCheck --check-prefix=ALL --check-prefix=N64 %s
4
5int check_char() {
6 return sizeof(char);
7// ALL: ret i32 1
8}
9
10int check_short() {
11 return sizeof(short);
12// ALL: ret i32 2
13}
14
15int check_int() {
16 return sizeof(int);
17// ALL: ret i32 4
18}
19
20int check_long() {
21 return sizeof(long);
22// O32: ret i32 4
23// N32: ret i32 4
24// N64: ret i32 8
25}
26
27int check_longlong() {
28 return sizeof(long long);
29// ALL: ret i32 8
30}
31
32int check_fp16() {
33 return sizeof(__fp16);
34// ALL: ret i32 2
35}
36
37int check_float() {
38 return sizeof(float);
39// ALL: ret i32 4
40}
41
42int check_double() {
43 return sizeof(double);
44// ALL: ret i32 8
45}
46
47int check_longdouble() {
48 return sizeof(long double);
49// O32: ret i32 8
50// N32: ret i32 16
51// N64: ret i32 16
52}
53
54int check_floatComplex() {
55 return sizeof(float _Complex);
56// ALL: ret i32 8
57}
58
59int check_doubleComplex() {
60 return sizeof(double _Complex);
61// ALL: ret i32 16
62}
63
64int check_longdoubleComplex() {
65 return sizeof(long double _Complex);
66// O32: ret i32 16
67// N32: ret i32 32
68// N64: ret i32 32
69}
70
71int check_bool() {
72 return sizeof(_Bool);
73// ALL: ret i32 1
74}
75
76int check_wchar() {
77 return sizeof(__WCHAR_TYPE__);
78// ALL: ret i32 4
79}
80
81int check_wchar_is_unsigned() {
82 return (__WCHAR_TYPE__)-1 > (__WCHAR_TYPE__)0;
83// ALL: ret i32 0
84}
85
86int check_ptr() {
87 return sizeof(void *);
88// O32: ret i32 4
89// N32: ret i32 4
90// N64: ret i32 8
91}
92