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 check_short()6int check_short() { 7 return sizeof(short); 8 // CHECK: ret i32 2 9 } 10 check_int()11int check_int() { 12 return sizeof(int); 13 // CHECK: ret i32 4 14 } 15 check_long()16int check_long() { 17 return sizeof(long); 18 // CHECK: ret i32 4 19 } 20 check_longlong()21int check_longlong() { 22 return sizeof(long long); 23 // CHECK: ret i32 8 24 } 25 check_int128()26int check_int128() { 27 return sizeof(__int128); 28 // CHECK: ret i32 16 29 } 30 check_fp16()31int check_fp16() { 32 return sizeof(__fp16); 33 // CHECK: ret i32 2 34 } 35 check_float()36int check_float() { 37 return sizeof(float); 38 // CHECK: ret i32 4 39 } 40 check_double()41int check_double() { 42 return sizeof(double); 43 // CHECK: ret i32 8 44 } 45 check_longdouble()46int check_longdouble() { 47 return sizeof(long double); 48 // CHECK: ret i32 8 49 } 50 check_floatComplex()51int check_floatComplex() { 52 return sizeof(float _Complex); 53 // CHECK: ret i32 8 54 } 55 check_doubleComplex()56int check_doubleComplex() { 57 return sizeof(double _Complex); 58 // CHECK: ret i32 16 59 } 60 check_longdoubleComplex()61int check_longdoubleComplex() { 62 return sizeof(long double _Complex); 63 // CHECK: ret i32 16 64 } 65 check_bool()66int check_bool() { 67 return sizeof(_Bool); 68 // CHECK: ret i32 1 69 } 70 check_wchar()71int check_wchar() { 72 return sizeof(__WCHAR_TYPE__); 73 // CHECK: ret i32 2 74 } 75 check_wchar_unsigned()76int check_wchar_unsigned() { 77 return (__WCHAR_TYPE__)-1 > (__WCHAR_TYPE__)0; 78 // CHECK: ret i32 1 79 } 80 81 enum Small { 82 Item 83 }; 84 foo()85int foo() { 86 return sizeof(enum Small); 87 // CHECK: ret i32 4 88 } 89