what do you expect the result to be?
typedef struct { signed int bit:1; } T_oddity; T_oddity oddity; int foobar( int arg ) { oddity.bit = arg; return oddity.bit; } void foochocolate ( void ) { // stuff foobar ( -1 ); // stuff }