[gnu.utils.bug] bit fields in make-3.56

treece@IUVAX.CS.INDIANA.EDU (Jeff Treece) (09/29/89)

Hello,
I noticed that the file structure in make-3.56's file.h now uses bit
fields (in particular: int update_status:2;).  I think that this causes
problems on some compilers (because some compilers may treat bit fields
as unsigned).  For example, in file.c, there is a switch(f->update_status),
which can have a value of -1.  If the compiler treats the variable as
unsigned, it will be considered to have the value 3, and make will
abort on line 378.  This is exactly what happens when I compile make-3.56
with the cc supplied with our Alliant FX/4.  It runs fine, however,
under gcc.

Jeff Treece
Sabbagh Associates
treece@sabbagh.com   ...iuvax.cs.indiana.edu!sabbagh!treece
(812) 339-8273