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