brintos

brintos / llvm-project-archived public Read only

0
0
Text · 2.0 KiB · 103ccab Raw
87 lines · cpp
1// RUN: %clang --target=lanai-unknown-unknown -### %s -c 2>&1 \2// RUN:   | FileCheck %s -check-prefix=ECHO3// RUN: %clang --target=lanai-unknown-unknown %s -emit-llvm -S -o - \4// RUN:   | FileCheck %s5 6// ECHO: {{.*}} "-cc1" {{.*}}lanai-unknown-unknown.c7 8typedef __builtin_va_list va_list;9typedef __SIZE_TYPE__ size_t;10typedef __PTRDIFF_TYPE__ ptrdiff_t;11 12extern "C" {13 14// CHECK: @align_c = dso_local global i32 115int align_c = __alignof(char);16 17// CHECK: @align_s = dso_local global i32 218int align_s = __alignof(short);19 20// CHECK: @align_i = dso_local global i32 421int align_i = __alignof(int);22 23// CHECK: @align_l = dso_local global i32 424int align_l = __alignof(long);25 26// CHECK: @align_ll = dso_local global i32 827int align_ll = __alignof(long long);28 29// CHECK: @align_p = dso_local global i32 430int align_p = __alignof(void*);31 32// CHECK: @align_vl = dso_local global i32 433int align_vl = __alignof(va_list);34 35// Check types36 37// CHECK: signext i8 @check_char()38char check_char() { return 0; }39 40// CHECK: signext i16 @check_short()41short check_short() { return 0; }42 43// CHECK: i32 @check_int()44int check_int() { return 0; }45 46// CHECK: i32 @check_long()47long check_long() { return 0; }48 49// CHECK: i64 @check_longlong()50long long check_longlong() { return 0; }51 52// CHECK: zeroext i8 @check_uchar()53unsigned char check_uchar() { return 0; }54 55// CHECK: zeroext i16 @check_ushort()56unsigned short check_ushort() { return 0; }57 58// CHECK: i32 @check_uint()59unsigned int check_uint() { return 0; }60 61// CHECK: i32 @check_ulong()62unsigned long check_ulong() { return 0; }63 64// CHECK: i64 @check_ulonglong()65unsigned long long check_ulonglong() { return 0; }66 67// CHECK: i32 @check_size_t()68size_t check_size_t() { return 0; }69 70}71 72template<int> void Switch();73template<> void Switch<4>();74template<> void Switch<8>();75template<> void Switch<16>();76 77void check_pointer_size() {78  // CHECK: SwitchILi479  Switch<sizeof(void*)>();80 81  // CHECK: SwitchILi882  Switch<sizeof(long long)>();83 84  // CHECK: SwitchILi485  Switch<sizeof(va_list)>();86}87