Andreas Schwab <sch...@suse.de> writes: > Richard Sandiford <richard.sandif...@arm.com> writes: > >> @@ -315,7 +318,7 @@ struct ira_allocno >> number (0, ...) - 2. Value -1 is used for allocnos spilled by the >> reload (at this point pseudo-register has only one allocno) which >> did not get stack slot yet. */ >> - short int hard_regno; >> + int hard_regno : 16; > > If you want negative numbers you need to make that explicitly signed.
Are you sure? In: struct { int i : 16; unsigned int j : 1; } x = { -1, 0 }; int foo (void) { return x.i; } foo returns -1 rather than 65535. I can't see any precedent in gcc/*.[hc] for explicitly marking bitfields as signed. Thanks, Richard