Clang Project

clang_source_code/test/CodeGen/coff-aarch64-type-sizes.c
1// RUN: %clang_cc1 -triple aarch64-windows -emit-llvm -w -o - %s | FileCheck %s
2
3// CHECK: target datalayout = "e-m:w-p:64:64-i32:32-i64:64-i128:128-n32:64-S128"
4// CHECK: target triple = "aarch64-unknown-windows-msvc"
5
6int check_short() {
7  return sizeof(short);
8// CHECK: ret i32 2
9}
10
11int check_int() {
12  return sizeof(int);
13// CHECK: ret i32 4
14}
15
16int check_long() {
17  return sizeof(long);
18// CHECK: ret i32 4
19}
20
21int check_longlong() {
22  return sizeof(long long);
23// CHECK: ret i32 8
24}
25
26int check_int128() {
27  return sizeof(__int128);
28// CHECK: ret i32 16
29}
30
31int check_fp16() {
32  return sizeof(__fp16);
33// CHECK: ret i32 2
34}
35
36int check_float() {
37  return sizeof(float);
38// CHECK: ret i32 4
39}
40
41int check_double() {
42  return sizeof(double);
43// CHECK: ret i32 8
44}
45
46int check_longdouble() {
47  return sizeof(long double);
48// CHECK: ret i32 8
49}
50
51int check_floatComplex() {
52  return sizeof(float _Complex);
53// CHECK: ret i32 8
54}
55
56int check_doubleComplex() {
57  return sizeof(double _Complex);
58// CHECK: ret i32 16
59}
60
61int check_longdoubleComplex() {
62  return sizeof(long double _Complex);
63// CHECK: ret i32 16
64}
65
66int check_bool() {
67  return sizeof(_Bool);
68// CHECK: ret i32 1
69}
70
71int check_wchar() {
72  return sizeof(__WCHAR_TYPE__);
73// CHECK: ret i32 2
74}
75
76int check_wchar_unsigned() {
77  return (__WCHAR_TYPE__)-1 > (__WCHAR_TYPE__)0;
78// CHECK: ret i32 1
79}
80
81enum Small {
82  Item
83};
84
85int foo() {
86  return sizeof(enum Small);
87// CHECK: ret i32 4
88}
89