March 08, 2004
Hello,

i try compile gdmd.

That`s what i have done:

- Download gcc-3.4-20040206.tar.bz2  unzip with tar -xvjf
- mv gcc-3.4-20040206 gcc-3.4
- g++ idgen.c in /gcc-3.4/gcc/d/dmd and run ./a.out
- mkdir build
- ../gcc-3.4/configure --enable-languages=c,d
-  make bootstrap (i didn't find gmake)

My System is Debian unstable P4 gcc-Version 3.3.3 kernel 2.6.0-test1

Here is the error message:

++ -funsigned-char -D_CPPRTTI -Dlinux -I../../gcc-3.4/gcc/d/dmd
-I../../gcc-3.4/gcc/d/root -I../../gcc-3.4/gcc/d/ stubs -o lexer.dmd.o -c
./../gcc-3.4/gcc/d/dmd/lexer.c
./../gcc-3.4/gcc/d/dmd/lexer.c: In member function `TOK Lexer::number(Token*)
':
./../gcc-3.4/gcc/d/dmd/lexer.c:1473: error: Ganzzahlkonstante ist zu groß für
»long«-Typ
./../gcc-3.4/gcc/d/dmd/lexer.c:1475: error: Ganzzahlkonstante ist zu groß für
»long«-Typ
./../gcc-3.4/gcc/d/dmd/lexer.c:1484: error: Ganzzahlkonstante ist zu groß für
»long«-Typ
./../gcc-3.4/gcc/d/dmd/lexer.c:1486: error: Ganzzahlkonstante ist zu groß für
»long«-Typ
./../gcc-3.4/gcc/d/dmd/lexer.c:1494: error: Ganzzahlkonstante ist zu groß für
»long«-Typ
./../gcc-3.4/gcc/d/dmd/lexer.c:1502: error: Ganzzahlkonstante ist zu groß für
»long«-Typ
make[2]: *** [lexer.dmd.o] Fehler 1
make[2]: Leaving directory `/home/hansen/build/gcc'

In lexer.c line 1475:
if (n & 0x8000000000000000)

Maybe the number is to big.

Manfred



March 14, 2004
On Mon, 8 Mar 2004 10:44:59 +0000 (UTC), manfred@toppoint.de wrote:

>Hello,
>
>i try compile gdmd.
>
>That`s what i have done:
>
>- Download gcc-3.4-20040206.tar.bz2  unzip with tar -xvjf
>- mv gcc-3.4-20040206 gcc-3.4
>- g++ idgen.c in /gcc-3.4/gcc/d/dmd and run ./a.out
>- mkdir build
>- ../gcc-3.4/configure --enable-languages=c,d
>-  make bootstrap (i didn't find gmake)
>
>My System is Debian unstable P4 gcc-Version 3.3.3 kernel 2.6.0-test1
>
>Here is the error message:
>
>++ -funsigned-char -D_CPPRTTI -Dlinux -I../../gcc-3.4/gcc/d/dmd
>-I../../gcc-3.4/gcc/d/root -I../../gcc-3.4/gcc/d/ stubs -o lexer.dmd.o -c
>./../gcc-3.4/gcc/d/dmd/lexer.c
>./../gcc-3.4/gcc/d/dmd/lexer.c: In member function `TOK Lexer::number(Token*)
>':
>./../gcc-3.4/gcc/d/dmd/lexer.c:1473: error: Ganzzahlkonstante ist zu groß für
>»long«-Typ
>./../gcc-3.4/gcc/d/dmd/lexer.c:1475: error: Ganzzahlkonstante ist zu groß für
>»long«-Typ
>./../gcc-3.4/gcc/d/dmd/lexer.c:1484: error: Ganzzahlkonstante ist zu groß für
>»long«-Typ
>./../gcc-3.4/gcc/d/dmd/lexer.c:1486: error: Ganzzahlkonstante ist zu groß für
>»long«-Typ
>./../gcc-3.4/gcc/d/dmd/lexer.c:1494: error: Ganzzahlkonstante ist zu groß für
>»long«-Typ
>./../gcc-3.4/gcc/d/dmd/lexer.c:1502: error: Ganzzahlkonstante ist zu groß für
>»long«-Typ
>make[2]: *** [lexer.dmd.o] Fehler 1
>make[2]: Leaving directory `/home/hansen/build/gcc'
>
>In lexer.c line 1475:
>if (n & 0x8000000000000000)
>
>Maybe the number is to big.
>
>Manfred

That error has appeared before but I haven't been able to reproduce it. I run RedHat 9 with gcc 3.2.2 - looks like there is a bug in gcc 3.3.3

-Ben