This is the mail archive of the gcc@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

RE: cygwin or egcs bug ?


I've reported the same problem some time ago and got a helpfull mail 
with a pointer to a patch from Hans-Peter Nilsson (thanx). 

Here's a copy of his response:

I reproduced your problem reported in
<URL:http://egcs.cygnus.com/ml/egcs-bugs/1999-04/msg00005.html>
on my i686-pc-linux-gnulibc1.

It is solved with the patch in
<URL:http://egcs.cygnus.com/ml/egcs-patches/1999-03/msg00856.html>
which has not been commented on, yet.

brgds, H-P



============================================
Paul Janssen
Software Engineer

SPaSE bv.			http://www.spase.com
Kerkenbos 1021		tel.: +31 24 378 2882
6546 BB Nijmegen		fax.: +31 24 378 8388
The Netherlands		mailto:paulja@spase.nl
============================================


-----Original Message-----
From:	Brendan Simon [SMTP:brendan@dgs.monash.edu.au]
Sent:	Tuesday, April 27, 1999 10:19 AM
To:	egcs mailing list; CygWin32
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;
}



Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]