Fix crash reported in PR7653.
[oota-llvm.git] / test / FrontendC++ / 2009-12-23-MissingSext.cpp
1 // RUN: %llvmgxx %s -S -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.
5 struct foo {
6   char x:8;
7   signed int y:24;
8 };
9 int bar(struct foo p, int x) {
10 // CHECK: bar
11 // CHECK: sext
12 // CHECK: sext
13   x = (p.y > x ? x : p.y);
14   return x;
15 // CHECK: return
16 }