Dale Johannesen | b97a21c | 2009-12-24 01:10:43 +0000 | [diff] [blame] | 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 | } |