1 /** Code generation for f8 could overwrite the lower byte of a still-needed pointer value in register x.
14 struct a
{ unsigned int bitfield
: 1; };
21 struct a a
= {0}; // Here the lower byte of a pointer to a was overwritten.
23 a
.bitfield
|= x
; // So this 1 was stored to the wrong location.
24 if (a
.bitfield
!= 1) // But this cheak read fom the wrong location, too, and thus got the correct value.
29 void h(const char *c0
, const char *c1
)
31 ASSERT (!memcmp (c0
, c1
, GUARDSIZE
));
37 char c0
[GUARDSIZE
] = {0};
39 char c1
[GUARDSIZE
] = {0};
51 char c0
[GUARDSIZE
] = {0};
52 char c1
[GUARDSIZE
] = {0};