Path: utzoo!telly!attcan!utgpu!jarvis.csri.toronto.edu!rutgers!apple!gem.mps.ohio-state.edu!tut.cis.ohio-state.edu!IUVAX.CS.INDIANA.EDU!sabbagh!treece
From: sabbagh!treece@IUVAX.CS.INDIANA.EDU (Jeff Treece)
Newsgroups: gnu.utils.bug
Subject: bit fields in make-3.56
Message-ID: <8909291507.AA04947@life.ai.mit.edu>
Date: 29 Sep 89 13:43:15 GMT
Sender: daemon@tut.cis.ohio-state.edu
Distribution: gnu
Organization: GNUs Not Usenet
Lines: 15

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