Jump to page: 1 2
Thread overview
update
Feb 09, 2004
Ben Hinkle
Feb 10, 2004
resistor
Feb 11, 2004
resistor
Feb 11, 2004
d-lang
Feb 11, 2004
resistor
Feb 11, 2004
d-lang
Feb 11, 2004
resistor
Feb 11, 2004
resistor
Feb 11, 2004
Ben Hinkle
Feb 11, 2004
C
Feb 13, 2004
Walter
Feb 15, 2004
Ben Hinkle
February 09, 2004
another update off the gcc front-end: http://home.comcast.net/~benhinkle/gdmd-0.2.tar.gz

improvements: structs, enums, expression initializers, address-operator, ptr-operator, comma-operator, updated to gcc-3.4-20040206 and DMD-0.79

Walter, here is the README.dmd that describes some changes I had to make for either the mac and linux:

* add #include "total.h" to top of a few .h files to avoid #include
  errors (eg, Loc not defined, enum TOK used before definition etc)
  Make sure this is outside of the include guards so that all files
  are included in the right order. Another way to fix this problem
  would be to include total.h in all the .c files but that was more
  tedious. Header files modified were root.h, mars.h, declaration.h,
dsymbol.h

* edit html.c to replace the variable "not" with "not_". Also even with
  the -funsigned-char flag to g++ memicmp calls still need explicit casts
  from unsigned char* to char*.

* to compile on Mac OS X change defines in constfold.c to avoid fmodl
  and redefine interger_t because that is defined in vm_types.h

* change mtype.c header includes for Mac OS X

If you want I can try to cut/paste code diffs.

-Ben


February 10, 2004
Wow!  That's wonderful!  I'm building it now.

Walter, do you think it would be possible to mirror this here?  I think that in
another point release or
two it might do to announce Ben's progress to the usual news media.  I suspect
that if people saw that
he'd made real progress, we might pick up some more people with GCC knowledge.
And, well, I don't
want to Slashdot his ComCast homepage. ;)

Keep up the great work Ben!

Owen

In article <c072fm$i09$1@digitaldaemon.com>, Ben Hinkle says...
>
>another update off the gcc front-end: http://home.comcast.net/~benhinkle/gdmd-0.2.tar.gz
>
>improvements: structs, enums, expression initializers, address-operator, ptr-operator, comma-operator, updated to gcc-3.4-20040206 and DMD-0.79
>
>Walter, here is the README.dmd that describes some changes I had to make for either the mac and linux:
>
>* add #include "total.h" to top of a few .h files to avoid #include
>  errors (eg, Loc not defined, enum TOK used before definition etc)
>  Make sure this is outside of the include guards so that all files
>  are included in the right order. Another way to fix this problem
>  would be to include total.h in all the .c files but that was more
>  tedious. Header files modified were root.h, mars.h, declaration.h,
>dsymbol.h
>
>* edit html.c to replace the variable "not" with "not_". Also even with
>  the -funsigned-char flag to g++ memicmp calls still need explicit casts
>  from unsigned char* to char*.
>
>* to compile on Mac OS X change defines in constfold.c to avoid fmodl
>  and redefine interger_t because that is defined in vm_types.h
>
>* change mtype.c header includes for Mac OS X
>
>If you want I can try to cut/paste code diffs.
>
>-Ben
>
>


February 11, 2004
Beautiful.  Absolutely beautiful.  It compiles and works on my Mac OS X box, and
is able to compile
both hello world examples.  One thing that you might want to add to the README,
however:  on Mac OS
X at least you need to add the flag "-static-libgcc".  This is because it will
try to require the GCC3.4
libgcc, which won't be installed if you didn't do a make install.  Doing this
will force it to statically link
to it, and prevent shared library errors.

Owen

In article <c0bh6v$2dau$1@digitaldaemon.com>, resistor@mac.com says...
>
>Wow!  That's wonderful!  I'm building it now.
>
>Walter, do you think it would be possible to mirror this here?  I think that in
>another point release or
>two it might do to announce Ben's progress to the usual news media.  I suspect
>that if people saw that
>he'd made real progress, we might pick up some more people with GCC knowledge.
>And, well, I don't
>want to Slashdot his ComCast homepage. ;)
>
>Keep up the great work Ben!
>
>Owen
>
>In article <c072fm$i09$1@digitaldaemon.com>, Ben Hinkle says...
>>
>>another update off the gcc front-end: http://home.comcast.net/~benhinkle/gdmd-0.2.tar.gz
>>
>>improvements: structs, enums, expression initializers, address-operator, ptr-operator, comma-operator, updated to gcc-3.4-20040206 and DMD-0.79
>>
>>Walter, here is the README.dmd that describes some changes I had to make for either the mac and linux:
>>
>>* add #include "total.h" to top of a few .h files to avoid #include
>>  errors (eg, Loc not defined, enum TOK used before definition etc)
>>  Make sure this is outside of the include guards so that all files
>>  are included in the right order. Another way to fix this problem
>>  would be to include total.h in all the .c files but that was more
>>  tedious. Header files modified were root.h, mars.h, declaration.h,
>>dsymbol.h
>>
>>* edit html.c to replace the variable "not" with "not_". Also even with
>>  the -funsigned-char flag to g++ memicmp calls still need explicit casts
>>  from unsigned char* to char*.
>>
>>* to compile on Mac OS X change defines in constfold.c to avoid fmodl
>>  and redefine interger_t because that is defined in vm_types.h
>>
>>* change mtype.c header includes for Mac OS X
>>
>>If you want I can try to cut/paste code diffs.
>>
>>-Ben
>>
>>
>
>


February 11, 2004
I am excited to see this as well but I had a problem getting GCC 3.4 built on OS
X (Panther).

I exported CFLAGS="-static-libgcc" and then followed the instructions in the D source README.

"make bootstrap" (it's GNU make, I don't have a gmake) spins its wheels for a
LONG time and finally
spits out:

/Users/bhammond/Projects/gcc-3.4/gcc/d/call.c:4288:12: attempt to use poisoned
"PROMOTE_PROTOTYPES"
/Users/bhammond/Projects/gcc-3.4/gcc/d/call.c: In function `type_passed_as':
/Users/bhammond/Projects/gcc-3.4/gcc/d/call.c:4289: error: `PROMOTE_PROTOTYPES'
undeclared
(first use in this function)
..
/Users/bhammond/Projects/gcc-3.4/gcc/d/call.c:4308:12: attempt to use poisoned
"PROMOTE_PROTOTYPES"
/Users/bhammond/Projects/gcc-3.4/gcc/d/call.c: In function
`convert_for_arg_passing':
/Users/bhammond/Projects/gcc-3.4/gcc/d/call.c:4309: error: `PROMOTE_PROTOTYPES'
undeclared
(first use in this function)
/Users/bhammond/Projects/gcc-3.4/gcc/d/call.c: At top level:
/Users/bhammond/Projects/gcc-3.4/gcc/d/call.c:139: warning: 'build_field_call'
defined but not used
make[2]: *** [d/call.o] Error 1
make[1]: *** [stage2_build] Error 2
make: *** [bootstrap] Error 2

Any ideas?  I don't know anything about D internals and I figured I'd ask here
first since you had
success on OS X.

Thanks!

Brian H.

In article <c0c3s5$bd0$1@digitaldaemon.com>, resistor@mac.com says...
>
>Beautiful.  Absolutely beautiful.  It compiles and works on my Mac OS X box, and
>is able to compile
>both hello world examples.  One thing that you might want to add to the README,
>however:  on Mac OS
>X at least you need to add the flag "-static-libgcc".  This is because it will
>try to require the GCC3.4
>libgcc, which won't be installed if you didn't do a make install.  Doing this
>will force it to statically link
>to it, and prevent shared library errors.
>
>Owen
>
>In article <c0bh6v$2dau$1@digitaldaemon.com>, resistor@mac.com says...
>>
>>Wow!  That's wonderful!  I'm building it now.
>>
>>Walter, do you think it would be possible to mirror this here?  I think that in
>>another point release or
>>two it might do to announce Ben's progress to the usual news media.  I suspect
>>that if people saw that
>>he'd made real progress, we might pick up some more people with GCC knowledge.
>>And, well, I don't
>>want to Slashdot his ComCast homepage. ;)
>>
>>Keep up the great work Ben!
>>
>>Owen
>>
>>In article <c072fm$i09$1@digitaldaemon.com>, Ben Hinkle says...
>>>
>>>another update off the gcc front-end: http://home.comcast.net/~benhinkle/gdmd-0.2.tar.gz
>>>
>>>improvements: structs, enums, expression initializers, address-operator, ptr-operator, comma-operator, updated to gcc-3.4-20040206 and DMD-0.79
>>>
>>>Walter, here is the README.dmd that describes some changes I had to make for either the mac and linux:
>>>
>>>* add #include "total.h" to top of a few .h files to avoid #include
>>>  errors (eg, Loc not defined, enum TOK used before definition etc)
>>>  Make sure this is outside of the include guards so that all files
>>>  are included in the right order. Another way to fix this problem
>>>  would be to include total.h in all the .c files but that was more
>>>  tedious. Header files modified were root.h, mars.h, declaration.h,
>>>dsymbol.h
>>>
>>>* edit html.c to replace the variable "not" with "not_". Also even with
>>>  the -funsigned-char flag to g++ memicmp calls still need explicit casts
>>>  from unsigned char* to char*.
>>>
>>>* to compile on Mac OS X change defines in constfold.c to avoid fmodl
>>>  and redefine interger_t because that is defined in vm_types.h
>>>
>>>* change mtype.c header includes for Mac OS X
>>>
>>>If you want I can try to cut/paste code diffs.
>>>
>>>-Ben
>>>
>>>
>>
>>
>
>


February 11, 2004
I'm sorry I was unclear: -static-libgcc is only necessary when compiling D source code.  I was able to build the compiler with the instructions directly out of the newest DMD repository.  Also, make sure you're using a GCC snapshot that matches with the one the author used.

Owen

In article <c0dhse$2pd4$1@digitaldaemon.com>, d-lang@brianhammond.com says...
>
>
>I am excited to see this as well but I had a problem getting GCC 3.4 built on OS
>X (Panther).
>
>I exported CFLAGS="-static-libgcc" and then followed the instructions in the D source README.
>
>"make bootstrap" (it's GNU make, I don't have a gmake) spins its wheels for a
>LONG time and finally
>spits out:
>
>/Users/bhammond/Projects/gcc-3.4/gcc/d/call.c:4288:12: attempt to use poisoned
>"PROMOTE_PROTOTYPES"
>/Users/bhammond/Projects/gcc-3.4/gcc/d/call.c: In function `type_passed_as':
>/Users/bhammond/Projects/gcc-3.4/gcc/d/call.c:4289: error: `PROMOTE_PROTOTYPES'
>undeclared
>(first use in this function)
>..
>/Users/bhammond/Projects/gcc-3.4/gcc/d/call.c:4308:12: attempt to use poisoned
>"PROMOTE_PROTOTYPES"
>/Users/bhammond/Projects/gcc-3.4/gcc/d/call.c: In function
>`convert_for_arg_passing':
>/Users/bhammond/Projects/gcc-3.4/gcc/d/call.c:4309: error: `PROMOTE_PROTOTYPES'
>undeclared
>(first use in this function)
>/Users/bhammond/Projects/gcc-3.4/gcc/d/call.c: At top level:
>/Users/bhammond/Projects/gcc-3.4/gcc/d/call.c:139: warning: 'build_field_call'
>defined but not used
>make[2]: *** [d/call.o] Error 1
>make[1]: *** [stage2_build] Error 2
>make: *** [bootstrap] Error 2
>
>Any ideas?  I don't know anything about D internals and I figured I'd ask here
>first since you had
>success on OS X.
>
>Thanks!
>
>Brian H.
>
>In article <c0c3s5$bd0$1@digitaldaemon.com>, resistor@mac.com says...
>>
>>Beautiful.  Absolutely beautiful.  It compiles and works on my Mac OS X box, and
>>is able to compile
>>both hello world examples.  One thing that you might want to add to the README,
>>however:  on Mac OS
>>X at least you need to add the flag "-static-libgcc".  This is because it will
>>try to require the GCC3.4
>>libgcc, which won't be installed if you didn't do a make install.  Doing this
>>will force it to statically link
>>to it, and prevent shared library errors.
>>
>>Owen
>>
>>In article <c0bh6v$2dau$1@digitaldaemon.com>, resistor@mac.com says...
>>>
>>>Wow!  That's wonderful!  I'm building it now.
>>>
>>>Walter, do you think it would be possible to mirror this here?  I think that in
>>>another point release or
>>>two it might do to announce Ben's progress to the usual news media.  I suspect
>>>that if people saw that
>>>he'd made real progress, we might pick up some more people with GCC knowledge.
>>>And, well, I don't
>>>want to Slashdot his ComCast homepage. ;)
>>>
>>>Keep up the great work Ben!
>>>
>>>Owen
>>>
>>>In article <c072fm$i09$1@digitaldaemon.com>, Ben Hinkle says...
>>>>
>>>>another update off the gcc front-end: http://home.comcast.net/~benhinkle/gdmd-0.2.tar.gz
>>>>
>>>>improvements: structs, enums, expression initializers, address-operator, ptr-operator, comma-operator, updated to gcc-3.4-20040206 and DMD-0.79
>>>>
>>>>Walter, here is the README.dmd that describes some changes I had to make for either the mac and linux:
>>>>
>>>>* add #include "total.h" to top of a few .h files to avoid #include
>>>>  errors (eg, Loc not defined, enum TOK used before definition etc)
>>>>  Make sure this is outside of the include guards so that all files
>>>>  are included in the right order. Another way to fix this problem
>>>>  would be to include total.h in all the .c files but that was more
>>>>  tedious. Header files modified were root.h, mars.h, declaration.h,
>>>>dsymbol.h
>>>>
>>>>* edit html.c to replace the variable "not" with "not_". Also even with
>>>>  the -funsigned-char flag to g++ memicmp calls still need explicit casts
>>>>  from unsigned char* to char*.
>>>>
>>>>* to compile on Mac OS X change defines in constfold.c to avoid fmodl
>>>>  and redefine interger_t because that is defined in vm_types.h
>>>>
>>>>* change mtype.c header includes for Mac OS X
>>>>
>>>>If you want I can try to cut/paste code diffs.
>>>>
>>>>-Ben
>>>>
>>>>
>>>
>>>
>>
>>
>
>


February 11, 2004
Compiling on my P4 Linux box failed with these errors:

./../gcc-3.4-20040206/gcc/d/dmd/lexer.c: In member function `TOK
Lexer::number(Token*)':
./../gcc-3.4-20040206/gcc/d/dmd/lexer.c:1473: error: integer constant is too
large for "long" type
./../gcc-3.4-20040206/gcc/d/dmd/lexer.c:1475: error: integer constant is too
large for "long" type
./../gcc-3.4-20040206/gcc/d/dmd/lexer.c:1484: error: integer constant is too
large for "long" type
./../gcc-3.4-20040206/gcc/d/dmd/lexer.c:1486: error: integer constant is too
large for "long" type
./../gcc-3.4-20040206/gcc/d/dmd/lexer.c:1494: error: integer constant is too
large for "long" type
./../gcc-3.4-20040206/gcc/d/dmd/lexer.c:1502: error: integer constant is too
large for "long" type

Owen

In article <c072fm$i09$1@digitaldaemon.com>, Ben Hinkle says...
>
>another update off the gcc front-end: http://home.comcast.net/~benhinkle/gdmd-0.2.tar.gz
>
>improvements: structs, enums, expression initializers, address-operator, ptr-operator, comma-operator, updated to gcc-3.4-20040206 and DMD-0.79
>
>Walter, here is the README.dmd that describes some changes I had to make for either the mac and linux:
>
>* add #include "total.h" to top of a few .h files to avoid #include
>  errors (eg, Loc not defined, enum TOK used before definition etc)
>  Make sure this is outside of the include guards so that all files
>  are included in the right order. Another way to fix this problem
>  would be to include total.h in all the .c files but that was more
>  tedious. Header files modified were root.h, mars.h, declaration.h,
>dsymbol.h
>
>* edit html.c to replace the variable "not" with "not_". Also even with
>  the -funsigned-char flag to g++ memicmp calls still need explicit casts
>  from unsigned char* to char*.
>
>* to compile on Mac OS X change defines in constfold.c to avoid fmodl
>  and redefine interger_t because that is defined in vm_types.h
>
>* change mtype.c header includes for Mac OS X
>
>If you want I can try to cut/paste code diffs.
>
>-Ben
>
>


February 11, 2004
Hmm. I didn't see this in my build. I'll try unpacking a fresh gcc source
tree and gdmd tree and see if my working tree has something I didn't include
in the tar file.
-Ben

<resistor@mac.com> wrote in message news:c0dksq$2usk$1@digitaldaemon.com...
> Compiling on my P4 Linux box failed with these errors:
>
> ./../gcc-3.4-20040206/gcc/d/dmd/lexer.c: In member function `TOK
> Lexer::number(Token*)':
> ./../gcc-3.4-20040206/gcc/d/dmd/lexer.c:1473: error: integer constant is
too
> large for "long" type
> ./../gcc-3.4-20040206/gcc/d/dmd/lexer.c:1475: error: integer constant is
too
> large for "long" type
> ./../gcc-3.4-20040206/gcc/d/dmd/lexer.c:1484: error: integer constant is
too
> large for "long" type
> ./../gcc-3.4-20040206/gcc/d/dmd/lexer.c:1486: error: integer constant is
too
> large for "long" type
> ./../gcc-3.4-20040206/gcc/d/dmd/lexer.c:1494: error: integer constant is
too
> large for "long" type
> ./../gcc-3.4-20040206/gcc/d/dmd/lexer.c:1502: error: integer constant is
too
> large for "long" type
>
> Owen
>
> In article <c072fm$i09$1@digitaldaemon.com>, Ben Hinkle says...
> >
> >another update off the gcc front-end: http://home.comcast.net/~benhinkle/gdmd-0.2.tar.gz
> >
> >improvements: structs, enums, expression initializers, address-operator, ptr-operator, comma-operator, updated to gcc-3.4-20040206 and DMD-0.79
> >
> >Walter, here is the README.dmd that describes some changes I had to make
for
> >either the mac and linux:
> >
> >* add #include "total.h" to top of a few .h files to avoid #include
> >  errors (eg, Loc not defined, enum TOK used before definition etc)
> >  Make sure this is outside of the include guards so that all files
> >  are included in the right order. Another way to fix this problem
> >  would be to include total.h in all the .c files but that was more
> >  tedious. Header files modified were root.h, mars.h, declaration.h,
> >dsymbol.h
> >
> >* edit html.c to replace the variable "not" with "not_". Also even with
> >  the -funsigned-char flag to g++ memicmp calls still need explicit casts
> >  from unsigned char* to char*.
> >
> >* to compile on Mac OS X change defines in constfold.c to avoid fmodl
> >  and redefine interger_t because that is defined in vm_types.h
> >
> >* change mtype.c header includes for Mac OS X
> >
> >If you want I can try to cut/paste code diffs.
> >
> >-Ben
> >
> >
>
>


February 11, 2004
I see.  I was using 3.4 from CVS; I guess there are some problems with the D
release and the current
GCC 3.4 from CVS.  Using the snapshot mentioned, GCC was built without a problem
on OS X.

My GCC 3.4 source dir is ~/Projects/gcc-3.4-20040206
My GCC 3.4 build dir is ~/Projects/gcc-build

morphy:~/Projects/gcc-3.4-20040206/gcc/d$ gdmd -static-libgcc
-L/Users/bhammond/Projects/
gcc-build/gcc hello.d

morphy:~/Projects/gcc-3.4-20040206/gcc/d$ ./a.out hello world.

WOOHOO!
Thanks!

In article <c0djh1$2s8o$1@digitaldaemon.com>, resistor@mac.com says...
>
>I'm sorry I was unclear: -static-libgcc is only necessary when compiling D source code.  I was able to build the compiler with the instructions directly out of the newest DMD repository.  Also, make sure you're using a GCC snapshot that matches with the one the author used.
>
>Owen
>
>In article <c0dhse$2pd4$1@digitaldaemon.com>, d-lang@brianhammond.com says...
>>
>>
>>I am excited to see this as well but I had a problem getting GCC 3.4 built on OS
>>X (Panther).
>>
>>I exported CFLAGS="-static-libgcc" and then followed the instructions in the D source README.
>>
>>"make bootstrap" (it's GNU make, I don't have a gmake) spins its wheels for a
>>LONG time and finally
>>spits out:
>>
>>/Users/bhammond/Projects/gcc-3.4/gcc/d/call.c:4288:12: attempt to use poisoned
>>"PROMOTE_PROTOTYPES"
>>/Users/bhammond/Projects/gcc-3.4/gcc/d/call.c: In function `type_passed_as':
>>/Users/bhammond/Projects/gcc-3.4/gcc/d/call.c:4289: error: `PROMOTE_PROTOTYPES'
>>undeclared
>>(first use in this function)
>>..
>>/Users/bhammond/Projects/gcc-3.4/gcc/d/call.c:4308:12: attempt to use poisoned
>>"PROMOTE_PROTOTYPES"
>>/Users/bhammond/Projects/gcc-3.4/gcc/d/call.c: In function
>>`convert_for_arg_passing':
>>/Users/bhammond/Projects/gcc-3.4/gcc/d/call.c:4309: error: `PROMOTE_PROTOTYPES'
>>undeclared
>>(first use in this function)
>>/Users/bhammond/Projects/gcc-3.4/gcc/d/call.c: At top level:
>>/Users/bhammond/Projects/gcc-3.4/gcc/d/call.c:139: warning: 'build_field_call'
>>defined but not used
>>make[2]: *** [d/call.o] Error 1
>>make[1]: *** [stage2_build] Error 2
>>make: *** [bootstrap] Error 2
>>
>>Any ideas?  I don't know anything about D internals and I figured I'd ask here
>>first since you had
>>success on OS X.
>>
>>Thanks!
>>
>>Brian H.
>>
>>In article <c0c3s5$bd0$1@digitaldaemon.com>, resistor@mac.com says...
>>>
>>>Beautiful.  Absolutely beautiful.  It compiles and works on my Mac OS X box, and
>>>is able to compile
>>>both hello world examples.  One thing that you might want to add to the README,
>>>however:  on Mac OS
>>>X at least you need to add the flag "-static-libgcc".  This is because it will
>>>try to require the GCC3.4
>>>libgcc, which won't be installed if you didn't do a make install.  Doing this
>>>will force it to statically link
>>>to it, and prevent shared library errors.
>>>
>>>Owen
>>>
>>>In article <c0bh6v$2dau$1@digitaldaemon.com>, resistor@mac.com says...
>>>>
>>>>Wow!  That's wonderful!  I'm building it now.
>>>>
>>>>Walter, do you think it would be possible to mirror this here?  I think that in
>>>>another point release or
>>>>two it might do to announce Ben's progress to the usual news media.  I suspect
>>>>that if people saw that
>>>>he'd made real progress, we might pick up some more people with GCC knowledge.
>>>>And, well, I don't
>>>>want to Slashdot his ComCast homepage. ;)
>>>>
>>>>Keep up the great work Ben!
>>>>
>>>>Owen
>>>>
>>>>In article <c072fm$i09$1@digitaldaemon.com>, Ben Hinkle says...
>>>>>
>>>>>another update off the gcc front-end: http://home.comcast.net/~benhinkle/gdmd-0.2.tar.gz
>>>>>
>>>>>improvements: structs, enums, expression initializers, address-operator, ptr-operator, comma-operator, updated to gcc-3.4-20040206 and DMD-0.79
>>>>>
>>>>>Walter, here is the README.dmd that describes some changes I had to make for either the mac and linux:
>>>>>
>>>>>* add #include "total.h" to top of a few .h files to avoid #include
>>>>>  errors (eg, Loc not defined, enum TOK used before definition etc)
>>>>>  Make sure this is outside of the include guards so that all files
>>>>>  are included in the right order. Another way to fix this problem
>>>>>  would be to include total.h in all the .c files but that was more
>>>>>  tedious. Header files modified were root.h, mars.h, declaration.h,
>>>>>dsymbol.h
>>>>>
>>>>>* edit html.c to replace the variable "not" with "not_". Also even with
>>>>>  the -funsigned-char flag to g++ memicmp calls still need explicit casts
>>>>>  from unsigned char* to char*.
>>>>>
>>>>>* to compile on Mac OS X change defines in constfold.c to avoid fmodl
>>>>>  and redefine interger_t because that is defined in vm_types.h
>>>>>
>>>>>* change mtype.c header includes for Mac OS X
>>>>>
>>>>>If you want I can try to cut/paste code diffs.
>>>>>
>>>>>-Ben
>>>>>
>>>>>
>>>>
>>>>
>>>
>>>
>>
>>
>
>


February 11, 2004
Awesome!

C
"Ben Hinkle" <bhinkle4@juno.com> wrote in message
news:c072fm$i09$1@digitaldaemon.com...
> another update off the gcc front-end: http://home.comcast.net/~benhinkle/gdmd-0.2.tar.gz
>
> improvements: structs, enums, expression initializers, address-operator, ptr-operator, comma-operator, updated to gcc-3.4-20040206 and DMD-0.79
>
> Walter, here is the README.dmd that describes some changes I had to make
for
> either the mac and linux:
>
> * add #include "total.h" to top of a few .h files to avoid #include
>   errors (eg, Loc not defined, enum TOK used before definition etc)
>   Make sure this is outside of the include guards so that all files
>   are included in the right order. Another way to fix this problem
>   would be to include total.h in all the .c files but that was more
>   tedious. Header files modified were root.h, mars.h, declaration.h,
> dsymbol.h
>
> * edit html.c to replace the variable "not" with "not_". Also even with
>   the -funsigned-char flag to g++ memicmp calls still need explicit casts
>   from unsigned char* to char*.
>
> * to compile on Mac OS X change defines in constfold.c to avoid fmodl
>   and redefine interger_t because that is defined in vm_types.h
>
> * change mtype.c header includes for Mac OS X
>
> If you want I can try to cut/paste code diffs.
>
> -Ben
>
>


February 11, 2004
Yay!  Welcome to wide *coughcough* world of D users on Mac OS X!  I think that
makes three of use
now!

Owen

In article <c0e4gk$p82$1@digitaldaemon.com>, d-lang@brianhammond.com says...
>
>I see.  I was using 3.4 from CVS; I guess there are some problems with the D
>release and the current
>GCC 3.4 from CVS.  Using the snapshot mentioned, GCC was built without a problem
>on OS X.
>
>My GCC 3.4 source dir is ~/Projects/gcc-3.4-20040206
>My GCC 3.4 build dir is ~/Projects/gcc-build
>
>morphy:~/Projects/gcc-3.4-20040206/gcc/d$ gdmd -static-libgcc
>-L/Users/bhammond/Projects/
>gcc-build/gcc hello.d
>
>morphy:~/Projects/gcc-3.4-20040206/gcc/d$ ./a.out hello world.
>
>WOOHOO!
>Thanks!
>
>In article <c0djh1$2s8o$1@digitaldaemon.com>, resistor@mac.com says...
>>
>>I'm sorry I was unclear: -static-libgcc is only necessary when compiling D source code.  I was able to build the compiler with the instructions directly out of the newest DMD repository.  Also, make sure you're using a GCC snapshot that matches with the one the author used.
>>
>>Owen
>>
>>In article <c0dhse$2pd4$1@digitaldaemon.com>, d-lang@brianhammond.com says...
>>>
>>>
>>>I am excited to see this as well but I had a problem getting GCC 3.4 built on OS
>>>X (Panther).
>>>
>>>I exported CFLAGS="-static-libgcc" and then followed the instructions in the D source README.
>>>
>>>"make bootstrap" (it's GNU make, I don't have a gmake) spins its wheels for a
>>>LONG time and finally
>>>spits out:
>>>
>>>/Users/bhammond/Projects/gcc-3.4/gcc/d/call.c:4288:12: attempt to use poisoned
>>>"PROMOTE_PROTOTYPES"
>>>/Users/bhammond/Projects/gcc-3.4/gcc/d/call.c: In function `type_passed_as':
>>>/Users/bhammond/Projects/gcc-3.4/gcc/d/call.c:4289: error: `PROMOTE_PROTOTYPES'
>>>undeclared
>>>(first use in this function)
>>>..
>>>/Users/bhammond/Projects/gcc-3.4/gcc/d/call.c:4308:12: attempt to use poisoned
>>>"PROMOTE_PROTOTYPES"
>>>/Users/bhammond/Projects/gcc-3.4/gcc/d/call.c: In function
>>>`convert_for_arg_passing':
>>>/Users/bhammond/Projects/gcc-3.4/gcc/d/call.c:4309: error: `PROMOTE_PROTOTYPES'
>>>undeclared
>>>(first use in this function)
>>>/Users/bhammond/Projects/gcc-3.4/gcc/d/call.c: At top level:
>>>/Users/bhammond/Projects/gcc-3.4/gcc/d/call.c:139: warning: 'build_field_call'
>>>defined but not used
>>>make[2]: *** [d/call.o] Error 1
>>>make[1]: *** [stage2_build] Error 2
>>>make: *** [bootstrap] Error 2
>>>
>>>Any ideas?  I don't know anything about D internals and I figured I'd ask here
>>>first since you had
>>>success on OS X.
>>>
>>>Thanks!
>>>
>>>Brian H.
>>>
>>>In article <c0c3s5$bd0$1@digitaldaemon.com>, resistor@mac.com says...
>>>>
>>>>Beautiful.  Absolutely beautiful.  It compiles and works on my Mac OS X box, and
>>>>is able to compile
>>>>both hello world examples.  One thing that you might want to add to the README,
>>>>however:  on Mac OS
>>>>X at least you need to add the flag "-static-libgcc".  This is because it will
>>>>try to require the GCC3.4
>>>>libgcc, which won't be installed if you didn't do a make install.  Doing this
>>>>will force it to statically link
>>>>to it, and prevent shared library errors.
>>>>
>>>>Owen
>>>>
>>>>In article <c0bh6v$2dau$1@digitaldaemon.com>, resistor@mac.com says...
>>>>>
>>>>>Wow!  That's wonderful!  I'm building it now.
>>>>>
>>>>>Walter, do you think it would be possible to mirror this here?  I think that in
>>>>>another point release or
>>>>>two it might do to announce Ben's progress to the usual news media.  I suspect
>>>>>that if people saw that
>>>>>he'd made real progress, we might pick up some more people with GCC knowledge.
>>>>>And, well, I don't
>>>>>want to Slashdot his ComCast homepage. ;)
>>>>>
>>>>>Keep up the great work Ben!
>>>>>
>>>>>Owen
>>>>>
>>>>>In article <c072fm$i09$1@digitaldaemon.com>, Ben Hinkle says...
>>>>>>
>>>>>>another update off the gcc front-end: http://home.comcast.net/~benhinkle/gdmd-0.2.tar.gz
>>>>>>
>>>>>>improvements: structs, enums, expression initializers, address-operator, ptr-operator, comma-operator, updated to gcc-3.4-20040206 and DMD-0.79
>>>>>>
>>>>>>Walter, here is the README.dmd that describes some changes I had to make for either the mac and linux:
>>>>>>
>>>>>>* add #include "total.h" to top of a few .h files to avoid #include
>>>>>>  errors (eg, Loc not defined, enum TOK used before definition etc)
>>>>>>  Make sure this is outside of the include guards so that all files
>>>>>>  are included in the right order. Another way to fix this problem
>>>>>>  would be to include total.h in all the .c files but that was more
>>>>>>  tedious. Header files modified were root.h, mars.h, declaration.h,
>>>>>>dsymbol.h
>>>>>>
>>>>>>* edit html.c to replace the variable "not" with "not_". Also even with
>>>>>>  the -funsigned-char flag to g++ memicmp calls still need explicit casts
>>>>>>  from unsigned char* to char*.
>>>>>>
>>>>>>* to compile on Mac OS X change defines in constfold.c to avoid fmodl
>>>>>>  and redefine interger_t because that is defined in vm_types.h
>>>>>>
>>>>>>* change mtype.c header includes for Mac OS X
>>>>>>
>>>>>>If you want I can try to cut/paste code diffs.
>>>>>>
>>>>>>-Ben
>>>>>>
>>>>>>
>>>>>
>>>>>
>>>>
>>>>
>>>
>>>
>>
>>
>
>


« First   ‹ Prev
1 2