This is the mail archive of the cygwin@sourceware.cygnus.com
mailing list for the Cygwin project. See the Cygwin
home page for more information.
RE: cygwin or egcs bug ?
- To: Brendan Simon <brendan@dgs.monash.edu.au>
- Subject: RE: cygwin or egcs bug ?
- From: Gary Thomas <gdt@linuxppc.org>
- Date: Tue, 27 Apr 1999 08:36:26 +0100 (BST)
- Cc: CygWin32 <cygwin@sourceware.cygnus.com>, egcs mailing list <egcs@cygnus.com>
This problem is an EGCS-1.1.2 one, it also occurs on Linux/x86.
(Works fine on Linux/PPC, BTW)
On 27-Apr-99 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@sourceware.cygnus.com