| // RUN: %clang_cc1 -triple arm64_32-apple-ios7.0 -emit-llvm -o - %s | FileCheck %s |
| |
| struct Foo { |
| char a; |
| int b : 1; |
| }; |
| |
| int BitfieldOffset = sizeof(struct Foo); |
| // CHECK: @BitfieldOffset = global i32 2 |
| |
| int PointerSize = sizeof(void *); |
| // CHECK: @PointerSize = global i32 4 |
| |
| int PointerAlign = __alignof(void *); |
| // CHECK: @PointerAlign = global i32 4 |
| |
| int LongSize = sizeof(long); |
| // CHECK: @LongSize = global i32 4 |
| |
| int LongAlign = __alignof(long); |
| // CHECK: @LongAlign = global i32 4 |
| |
| // Not expected to change, but it's a difference between AAPCS and DarwinPCS |
| // that we need to be preserved for compatibility with ARMv7k. |
| long double LongDoubleVar = 0.0; |
| // CHECK: @LongDoubleVar = global double |
| |
| typedef float __attribute__((ext_vector_type(16))) v16f32; |
| v16f32 func(v16f32 in) { return in; } |
| // CHECK: define void @func(<16 x float>* noalias sret align 16 {{%.*}}, <16 x float> {{%.*}}) |