Thread overview | ||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
February 09, 2004 update | ||||
---|---|---|---|---|
| ||||
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 Re: update | ||||
---|---|---|---|---|
| ||||
Posted in reply to Ben Hinkle | 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 Re: update | ||||
---|---|---|---|---|
| ||||
Posted in reply to resistor | 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 Re: update | ||||
---|---|---|---|---|
| ||||
Posted in reply to resistor | 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 Re: update | ||||
---|---|---|---|---|
| ||||
Posted in reply to d-lang | 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 Re: update | ||||
---|---|---|---|---|
| ||||
Posted in reply to Ben Hinkle | 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 Re: update | ||||
---|---|---|---|---|
| ||||
Posted in reply to resistor | 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 Re: update | ||||
---|---|---|---|---|
| ||||
Posted in reply to resistor | 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 Re: update | ||||
---|---|---|---|---|
| ||||
Posted in reply to Ben Hinkle | 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 Re: update | ||||
---|---|---|---|---|
| ||||
Posted in reply to d-lang | 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 >>>>>> >>>>>> >>>>> >>>>> >>>> >>>> >>> >>> >> >> > > |
Copyright © 1999-2021 by the D Language Foundation