// RUN: %llvmgxx %s -S -o - | FileCheck %s // The store of p.y into the temporary was not // getting extended to 32 bits, so uninitialized // bits of the temporary were used. 7366161. struct foo { char x:8; signed int y:24; }; int bar(struct foo p, int x) { // CHECK: bar // CHECK: sext // CHECK: sext x = (p.y > x ? x : p.y); return x; // CHECK: return }