Hi Phil,
My apologies, I assumed you were working in C, not C++.
Try this...
struct S
{
union
{
struct
{
unsigned a : 1;
unsigned b : 31;
};
unsigned ab;
} m;
void S::operator = (S const& in) volatile
{
m.ab = in.m.ab;
}
};
volatile S s;
void f()
{
S x;
x.m.a = 0;
x.m.b = 0;
s = x;
}
HTH,
--Eljay