xref: /llvm-project/clang/test/CodeGen/unaligned-field.c (revision 3fa38a14acca2ee81b2ee724d2bf1197d20494cf)
1*3fa38a14SRoger Ferrer Ibanez // RUN: %clang_cc1 -triple x86_64-unknown-linux-gnu -fms-extensions -emit-llvm < %s | FileCheck %s
2*3fa38a14SRoger Ferrer Ibanez // Test that __unaligned does not impact the layout of the fields.
3*3fa38a14SRoger Ferrer Ibanez 
4*3fa38a14SRoger Ferrer Ibanez struct A
5*3fa38a14SRoger Ferrer Ibanez {
6*3fa38a14SRoger Ferrer Ibanez     char a;
7*3fa38a14SRoger Ferrer Ibanez     __unaligned int b;
8*3fa38a14SRoger Ferrer Ibanez } a;
9*3fa38a14SRoger Ferrer Ibanez // CHECK: %struct.A = type { i8, i32 }
10*3fa38a14SRoger Ferrer Ibanez 
11*3fa38a14SRoger Ferrer Ibanez struct A2
12*3fa38a14SRoger Ferrer Ibanez {
13*3fa38a14SRoger Ferrer Ibanez     int b;
14*3fa38a14SRoger Ferrer Ibanez     char a;
15*3fa38a14SRoger Ferrer Ibanez     __unaligned int c;
16*3fa38a14SRoger Ferrer Ibanez } a2;
17*3fa38a14SRoger Ferrer Ibanez // CHECK: %struct.A2 = type { i32, i8, i32 }
18