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: | <372572F7.DA41FB2A@dgs.monash.edu.au> |
Date: | Tue, 27 Apr 1999 08:19:04 +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: | cygwin or egcs bug ? |
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
webmaster | delorie software privacy |
Copyright © 2019 by DJ Delorie | Updated Jul 2019 |