1 // RUN: %clang_cc1 -triple x86_64-linux-gnu -ffine-grained-bitfield-accesses \ 2 // RUN: -emit-llvm -o - %s | FileCheck %s 3 struct S4 { 4 unsigned long f1:28; 5 unsigned long f2:4; 6 unsigned long f3:12; 7 }; 8 struct S4 a4; 9 10 struct S5 { 11 unsigned long f1:28; 12 unsigned long f2:4; 13 unsigned long f3:28; 14 unsigned long f4:4; 15 unsigned long f5:12; 16 }; 17 struct S5 a5; 18 19 // CHECK: %struct.S4 = type { i32, i16 } 20 // CHECK-NOT: %struct.S4 = type { i48 } 21 // CHECK: %struct.S5 = type { i32, i32, i16, [6 x i8] } 22 // CHECK-NOT: %struct.S5 = type { i80 }