| 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 |