delorie.com/archives/browse.cgi | search |
Mailing-List: | contact cygwin-help AT sourceware DOT cygnus DOT com; run by ezmlm |
Sender: | cygwin-owner AT sourceware DOT cygnus DOT com |
Delivered-To: | mailing list cygwin AT sourceware DOT cygnus DOT com |
Sender: | brendan AT edison DOT dialix DOT com DOT au |
Message-ID: | <372576B5.89D9DB6C@dgs.monash.edu.au> |
Date: | Tue, 27 Apr 1999 08:35:01 +0000 |
From: | Brendan Simon <brendan AT dgs DOT monash DOT edu DOT au> |
Reply-To: | brendan AT dgs DOT monash DOT edu DOT au |
Organization: | CTAM Pty Ltd |
X-Mailer: | Mozilla 4.51 [en] (X11; I; Linux 2.0.36 i586) |
X-Accept-Language: | en |
MIME-Version: | 1.0 |
To: | egcs mailing list <egcs AT cygnus DOT com>, |
CygWin32 <cygwin AT sourceware DOT cygnus DOT com> | |
Subject: | Re: cygwin or egcs bug ? |
References: | <372572F7 DOT DA41FB2A AT dgs DOT monash DOT edu DOT au> |
I've done some more tests and it seems to be an egcs problem. Both gcc and g++ (ver 2.7.2.3) compile fine (after adding a few typedefs for the C structs). The egcs-gcc and egcs-g++ (ver 1.0.3 on linux) barf with the sample code. Brendan. Brendan Simon wrote: > The following code compiles fine with gcc-2.7.2.3 (using linux) but > barfs with an internal compiler error when using egcs-1.1.2 (using > Mingw32 or Cygwin32). I haven't tried it with linux egcs yet but I will > try that when I get home tonight. > > The error message is > "/home/noer/src/b20/comp-tools/devo/gcc/expr.c:2468: Internal compiler > error in function emit_move_insn_1" > > Is this a bug or have I got some kind of weird code that should be > changed to be more portable ? > Any ideas or patches ?? > > Thanks, > Brendan Simon. > > struct GEN_REG > { > volatile unsigned long status[4]; > volatile unsigned long control[4]; > }; > > struct DEV > { > volatile GEN_REG genReg; > }; > > #define DevPtr ( (volatile DEV * const) 0x1000000 ) > > int main() > { > // This works OK. > DevPtr->genReg.status[0] = 0x00000000; > DevPtr->genReg.status[1] = 0x00000000; > DevPtr->genReg.status[2] = 0x00000000; > DevPtr->genReg.status[3] = 0x00000000; > > // This causes compiler to barf !!! > for( int i = 0; i < 4; i++ ) > { > DevPtr->genReg.status[i] = 0x00000000; > } > > return 0; > } > > -- > Want to unsubscribe from this list? > Send a message to cygwin-unsubscribe AT sourceware DOT cygnus DOT com -- Want to unsubscribe from this list? Send a message to cygwin-unsubscribe AT sourceware DOT cygnus DOT com
webmaster | delorie software privacy |
Copyright © 2019 by DJ Delorie | Updated Jul 2019 |