From: "Alexei A. Frounze" Newsgroups: comp.os.msdos.djgpp Subject: Re: bug Date: Wed, 28 Feb 2001 10:40:12 -0500 Lines: 54 Message-ID: <97j626$p0g3g$1@ID-57378.news.dfncis.de> References: <3A9CFB23 DOT 86C6D3EF AT sci DOT kun DOT nl> NNTP-Posting-Host: nas-203-80.rochester.navipath.net (64.20.203.80) X-Trace: fu-berlin.de 983374727 26230896 64.20.203.80 (16 [57378]) X-Priority: 3 X-MSMail-Priority: Normal X-Newsreader: Microsoft Outlook Express 5.50.4133.2400 X-MimeOLE: Produced By Microsoft MimeOLE V5.50.4133.2400 To: djgpp AT delorie DOT com DJ-Gateway: from newsgroup comp.os.msdos.djgpp Reply-To: djgpp AT delorie DOT com how do you compile that mess? -- Alexei A. Frounze alexfru [AT] chat [DOT] ru http://alexfru.chat.ru http://members.xoom.com/alexfru/ http://welcome.to/pmode/ "Michiel de Bondt" wrote in message news:3A9CFB23 DOT 86C6D3EF AT sci DOT kun DOT nl... > Hello djgpp-ers, > > I think I found a bug in gcc. But first, I had to mail the bug to this > newsgroup. gcc allocates an occupied register for a computation. I made > the following small sample file of the problem. You should cancel > optimization, otherwise the problem does not occur due to removal of > code. > > Best regard, Michiel de Bondt > > > > ---------------------------------------------------------------------------- ---- > // do not use optimization > > union intel > { > long e; > short x; > struct { > char l; > char h; > } b; > }; > > int main () > { > register union intel a __asm__ ("%eax"); > register union intel b __asm__ ("%ebx"); > register union intel c __asm__ ("%ecx"); > register union intel d __asm__ ("%edx"); > b.b.l++; > } >