1// RUN: %clang_cc1 %s -emit-llvm -o - | FileCheck %s 2// The store of p.y into the temporary was not 3// getting extended to 32 bits, so uninitialized 4// bits of the temporary were used. 7366161. 5struct foo { 6 char x:8; 7 signed int y:24; 8}; 9int bar(struct foo p, int x) { 10// CHECK: bar 11// CHECK: and {{.*}} 16777215 12// CHECK: and {{.*}} 16777215 13 x = (p.y > x ? x : p.y); 14 return x; 15// CHECK: ret 16} 17