Mailing-List: contact cygwin-help AT sourceware DOT cygnus DOT com; run by ezmlm List-Subscribe: List-Archive: List-Post: List-Help: , Sender: cygwin-owner AT sources DOT redhat DOT com Delivered-To: mailing list cygwin AT sources DOT redhat DOT com Message-ID: <20001128220444.10841.qmail@web116.yahoomail.com> Date: Tue, 28 Nov 2000 14:04:44 -0800 (PST) From: Earnie Boyd Subject: Re: [Fwd: __attribute__ ((packed)) and enums not working] To: Bruce Edge , cygwin support MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii --- Bruce Edge wrote: > Earnie Boyd wrote: > > > > --- Bruce Edge wrote: > > > The packed attribute mechanism seems to work for structs, but not enums: > > > > > > struct x { char c; int i; } __attribute__ ((packed)); > > > enum p { red, green, yellow } __attribute__ ((packed)); > > > > > > pcl_op.h:144: semicolon missing after declaration of `p' > > > > > > Has anyone used this successfully? > > > > > > > I don't have a problem with this. Perhaps your pcl_op.h file has \r\n line > > endings and you have binary mounts. > > It _is_ a DOS file, but if that were the case I think I would be seeing many > other errors. > > I did get it working, but I had to use the gcc option -fshort_enums, rather > than the explicit type attribute modifier. > > Is there a gcc bug in handling the __attribute__((packed)) when used in > conjunction with an enum declaration? > You'll need to provide the output of `cygcheck -s -r -v' pasted in a mail to the list and not to me. Also, the contents of /etc/setup/installed.db would be appreciated. As I said earlier, pasting your example into foo.c and gcc -c foo.c produced no errors. Cheers, ===== Earnie Boyd mailto:earnie_boyd AT yahoo DOT com --- --- --- Cygwin: POSIX on Windows --- --- Minimalist GNU for Windows --- __________________________________________________ Do You Yahoo!? Yahoo! Shopping - Thousands of Stores. Millions of Products. http://shopping.yahoo.com/ -- Want to unsubscribe from this list? Send a message to cygwin-unsubscribe AT sourceware DOT cygnus DOT com