alloca-align.cpp revision 150065722a5f010adb0f801d26d8a129a5243669
1195337d2e5d4625ae9dc1328c7cdbc7115b0261bDaniel Dunbar// RUN: %clang_cc1 -triple x86_64-unknown-unknown -emit-llvm -o - %s | FileCheck %s
2195337d2e5d4625ae9dc1328c7cdbc7115b0261bDaniel Dunbar//
3150065722a5f010adb0f801d26d8a129a5243669Daniel Dunbar// CHECK: define void @f0
4150065722a5f010adb0f801d26d8a129a5243669Daniel Dunbar// CHECK: alloca %struct.s0, align 16
5150065722a5f010adb0f801d26d8a129a5243669Daniel Dunbar// CHECK: define void @f1
6150065722a5f010adb0f801d26d8a129a5243669Daniel Dunbar// CHECK: alloca %struct.s0, align 16
7195337d2e5d4625ae9dc1328c7cdbc7115b0261bDaniel Dunbar
8150065722a5f010adb0f801d26d8a129a5243669Daniel Dunbarstruct s0 {
9195337d2e5d4625ae9dc1328c7cdbc7115b0261bDaniel Dunbar  int Start, End;
10195337d2e5d4625ae9dc1328c7cdbc7115b0261bDaniel Dunbar  unsigned Alignment;
11195337d2e5d4625ae9dc1328c7cdbc7115b0261bDaniel Dunbar  int TheStores __attribute__((aligned(16)));
12195337d2e5d4625ae9dc1328c7cdbc7115b0261bDaniel Dunbar};
13150065722a5f010adb0f801d26d8a129a5243669Daniel Dunbarextern "C" void f0() {
14150065722a5f010adb0f801d26d8a129a5243669Daniel Dunbar  (void) s0();
15150065722a5f010adb0f801d26d8a129a5243669Daniel Dunbar}
16150065722a5f010adb0f801d26d8a129a5243669Daniel Dunbar
17150065722a5f010adb0f801d26d8a129a5243669Daniel Dunbarextern "C" void f1() {
18150065722a5f010adb0f801d26d8a129a5243669Daniel Dunbar  (struct s0) { 0, 0, 0, 0 };
19195337d2e5d4625ae9dc1328c7cdbc7115b0261bDaniel Dunbar}
20