blob: dce8a3eee362f43216210abb20df14520ded0cd7 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
|
/* { dg-require-effective-target int32plus } */
/* PR tree-optimization/78170.
Check that sign-extended store to a bitfield
doesn't overwrite other fields. */
int a, b, d;
struct S0
{
int f0;
int f1;
int f2;
int f3;
int f4;
int f5:15;
int f6:17;
int f7:2;
int f8:30;
} c;
void fn1 ()
{
d = b = 1;
for (; b; b = a)
{
struct S0 e = { 0, 0, 0, 0, 0, 0, 1, 0, 1 };
c = e;
c.f6 = -1;
}
}
int main ()
{
fn1 ();
if (c.f7 != 0)
__builtin_abort ();
return 0;
}
|