www.digitalmars.com         C & C++   DMDScript  

D.gnu - GDC 0.12

reply David Friedman <d3rdclsmail_a_ _t_earthlink_d_._t_net> writes:
http://home.earthlink.net/~dvdfrdmn/d/gdc-0.12.tar.bz2

*  Fixes
       o Various problems building MinGW in MSYS
       o Mango "endless output"
       o Build problems with gcc 3.4.1
       o Various problems revealed by dmdscript
       o Error message now go to standard error
       o DStress catch_01, catch_02, new_04, switch_19, throw_02, and 
others.
* Improvements
       o Updated to DMD 0.125
       o New target: AIX
       o GDC and DMD versions are reported with "gcc --version"
       o Take advantage of DMD template improvements on
* Changes
       o std.c.unix is now std.c.unix.unix
       o The runtime library is now "libgphobos" to avoid conflicts with 
DMD.
       o The dmd wrapper script...
	    + Is now named "gdmd".
	    + Looks for gdc in its own directory instead of searching
		the path
	    + Requires a comma after the "-q" option.


DMDScript works now, but it needs a patch:

http://home.earthlink.net/~dvdfrdmn/d/dmdscript-1.05-gdc.diff

AIX works, but there is an anoying linker problem (explained in the README.)

David
May 28 2005
next sibling parent Dave <Dave_member pathlink.com> writes:
In article <d7ar86$1e7c$1 digitaldaemon.com>, David Friedman says...
http://home.earthlink.net/~dvdfrdmn/d/gdc-0.12.tar.bz2

*  Fixes
       o Various problems building MinGW in MSYS
       o Mango "endless output"
       o Build problems with gcc 3.4.1
       o Various problems revealed by dmdscript
       o Error message now go to standard error
       o DStress catch_01, catch_02, new_04, switch_19, throw_02, and 
others.
* Improvements
       o Updated to DMD 0.125
       o New target: AIX
       o GDC and DMD versions are reported with "gcc --version"
       o Take advantage of DMD template improvements on
* Changes
       o std.c.unix is now std.c.unix.unix
       o The runtime library is now "libgphobos" to avoid conflicts with 
DMD.
       o The dmd wrapper script...
	    + Is now named "gdmd".
	    + Looks for gdc in its own directory instead of searching
		the path
	    + Requires a comma after the "-q" option.


DMDScript works now, but it needs a patch:

http://home.earthlink.net/~dvdfrdmn/d/dmdscript-1.05-gdc.diff

AIX works, but there is an anoying linker problem (explained in the README.)

David

Thanks for the update - and graciously renaming the lib and wrapper - and for all of your work on this over the past several months (or is it years now? <g>). - Dave
May 28 2005
prev sibling next sibling parent reply bug d.com writes:
In article <d7ar86$1e7c$1 digitaldaemon.com>, David Friedman says...
http://home.earthlink.net/~dvdfrdmn/d/gdc-0.12.tar.bz2

Build error: $ uname MINGW32_NT-5.1 d/gcc-mars.cc: In function `void error(Loc, const char*, ...)': d/gcc-mars.cc:72: error: `mem' undeclared (first use this function) d/gcc-mars.cc:72: error: (Each undeclared identifier is reported only once for each function it appears in.) make[1]: *** [d/gcc-mars.glue.o] Error 1 make[1]: Leaving directory `/home/build/gcc-3.4.2/gcc' make: *** [all-gcc] Error 2
May 28 2005
parent reply David Friedman <d3rdclsmail_a_ _t_earthlink_d_._t_net> writes:
bug d.com wrote:
 In article <d7ar86$1e7c$1 digitaldaemon.com>, David Friedman says...
 
http://home.earthlink.net/~dvdfrdmn/d/gdc-0.12.tar.bz2

Build error: $ uname MINGW32_NT-5.1 d/gcc-mars.cc: In function `void error(Loc, const char*, ...)': d/gcc-mars.cc:72: error: `mem' undeclared (first use this function) d/gcc-mars.cc:72: error: (Each undeclared identifier is reported only once for each function it appears in.) make[1]: *** [d/gcc-mars.glue.o] Error 1 make[1]: Leaving directory `/home/build/gcc-3.4.2/gcc' make: *** [all-gcc] Error 2

I have tried building with gcc 3.2.3 and 3.4.2, but I don't get this error. A possible workaround might be to rename /mingw/include/mem.h to something else while you build gcc. David
May 29 2005
parent bug d.com writes:
In article <d7cegh$2h39$1 digitaldaemon.com>, David Friedman says...
A possible workaround might be to rename /mingw/include/mem.h to 
something else while you build gcc.

Yes, it solves the problem. Since "mem.h" is distributed with MinGW, I wonder why not rename the "mem.d" under dmd to something like "dmd-mem.h", or even just change include "dmd/mem.h" and the CFLAGS in Makefile will avoid the conflict.
May 31 2005
prev sibling next sibling parent reply "G.Vidal" <gyvidal wanadoo.fr> writes:
Can we compile amd64 optimized programs with GDC yet?
May 29 2005
parent David Friedman <d3rdclsmail_a_ _t_earthlink_d_._t_net> writes:
G.Vidal wrote:
 Can we compile amd64 optimized programs with GDC yet?
 

You can use the existing -mcpu and -march options to enable some extensions, but full 64-bit mode code will not work yet. David
May 29 2005
prev sibling next sibling parent =?ISO-8859-1?Q?Anders_F_Bj=F6rklund?= <afb algonet.se> writes:
David Friedman wrote:

 http://home.earthlink.net/~dvdfrdmn/d/gdc-0.12.tar.bz2

A slight addition/clarification to the build instruction: "Unless you will not be using the recls package, you also need to enable the C++ compiler." Since Phobos includes recls by default, this means that GDC won't build unless you add C++ to the language list! I set my own scripts back to: --enable-languages=c,c++,d Then I'll just not package the GCC/G++ parts of the build... (since they are now able to use the regular system versions) Will post the new version of GDC 0.12 for Mac OS X shortly. This time installing right under /usr for simplicity. (no messing around with the PATH env required anymore) Building it with GCC version: 3.3.6 (from 2005-05-03) Releasing binaries as ZIP and PKG/DMG, just as last time. Haven't tested it *that* much, but it feels solid on both Panther/Tiger. I just have to remember the "g" character :-) Project page at: http://sourceforge.net/projects/gdcmac/ Posting the source tarballs on the site, for completeness. (these are exactly the same as from GCC or David's site) I don't think I will do any "vanilla" builds of GCC/G++/GDC. (since the RPM build scripts are currently broken for GDC...) Should be easy enough to do from the tarball, if required ? I might post my Mac building scripts later on, though. Maybe. --anders PS. Here is the file list for the various GDC packages: - bin/gdc - bin/gdmd - include/d/3.3.6/ - lib/gcc/powerpc-apple-darwin7/3.3.6/ (Panther) - lib/gcc/powerpc-apple-darwin8/3.3.6/ (Tiger) - lib/libgphobos.a - lib/libgphobos.spec - share/man/man1/gdc.1.gz - share/man/man1/gdmd.1.gz All downloads are under 3 MB, with gzip compression.
May 29 2005
prev sibling next sibling parent reply Carlos Santander <csantander619 gmail.com> writes:
David Friedman escribiˇ:
 
 DMDScript works now, but it needs a patch:
 
 http://home.earthlink.net/~dvdfrdmn/d/dmdscript-1.05-gdc.diff
 
 David

I keep getting: "ranlib: archive member: libdmdscript.a(identifier.o) offset in archive not a multiple of sizeof(unsigned long) (must be since member is an object file)" gdc (GCC) 3.4.3 (gdc 0.12, using dmd 0.125) -- Carlos Santander Bernal
May 30 2005
parent reply =?ISO-8859-1?Q?Anders_F_Bj=F6rklund?= <afb algonet.se> writes:
Carlos Santander wrote:

 DMDScript works now, but it needs a patch:

 http://home.earthlink.net/~dvdfrdmn/d/dmdscript-1.05-gdc.diff

"ranlib: archive member: libdmdscript.a(identifier.o) offset in archive not a multiple of sizeof(unsigned long) (must be since member is an object file)"

The Linux Makefile does not work for Darwin (wrong ranlib syntax), but here it was simply trying to add to the old Linux X86 library... Do a clean first, to remove the binary crud, and then change gdc.mak: libdmdscript.a : $(OBJS) gdc.mak ar rc $ $(OBJS) ranlib $ Gave some warnings: (make -f gdc.mak DMD=gdmd) irstate.d: In function `va_arg': irstate.d:478: warning: system does not support one-only linkage protoerror.d: In member function `_ctor': protoerror.d:68: warning: system does not support one-only linkage Seems to be working, though: (./ds sieve.ds) Digital Mars DMDScript 1.05 www.digitalmars.com Compiled by Digital Mars DMD D compiler Copyright (c) 1999-2005 by Digital Mars written by Walter Bright 1 source files 10 iterations 1899 primes elapsed time = 570 --anders PS. It wasn't... (compiled with DMD) "gdc (GCC) 3.3.6"
May 30 2005
parent Carlos Santander <csantander619 gmail.com> writes:
Anders F Bj÷rklund escribiˇ:
 
 The Linux Makefile does not work for Darwin (wrong ranlib syntax),
 but here it was simply trying to add to the old Linux X86 library...
 
 Do a clean first, to remove the binary crud, and then change gdc.mak:
 
 libdmdscript.a : $(OBJS) gdc.mak
     ar rc $  $(OBJS)
     ranlib $ 
 
 Gave some warnings: (make -f gdc.mak DMD=gdmd)
 
 irstate.d: In function `va_arg':
 irstate.d:478: warning: system does not support one-only linkage
 
 protoerror.d: In member function `_ctor':
 protoerror.d:68: warning: system does not support one-only linkage
 
 Seems to be working, though: (./ds sieve.ds)
 
 Digital Mars DMDScript 1.05
 www.digitalmars.com
 Compiled by Digital Mars DMD D compiler
 Copyright (c) 1999-2005 by Digital Mars
 written by Walter Bright
 1 source files
 10 iterations
 
 1899 primes
 elapsed time = 570
 
 --anders
 
 
 PS. It wasn't... (compiled with DMD) "gdc (GCC) 3.3.6"

I had made a huge stupid mistake: I'd forgotten to delete the original libdmdscript.a.... LOL! I had the same warnings you had, but in the end it worked. Weird thing is that ranlib says "libdmdscript.a(ir.o) has no symbols". Anyway, as long as it works... -- Carlos Santander Bernal
May 30 2005
prev sibling parent reply Dejan Lekic <leka entropy.tmok.com> writes:
David, I had some problems with building GCC v4.0 + GDC 0.12 . Is it
supposed to work with v4.0 of GCC, or should I wait little bit? :)

Best regards

Dejan

-- 
...........
Dejan Lekic
  http://dejan.lekic.org
  
Jun 03 2005
next sibling parent =?ISO-8859-1?Q?Anders_F_Bj=F6rklund?= <afb algonet.se> writes:
Dejan Lekic wrote:

 David, I had some problems with building GCC v4.0 + GDC 0.12 . Is it
 supposed to work with v4.0 of GCC, or should I wait little bit? :)

Think that you need a new (GIMPLE) backend for GCC 4.x to work ? http://www.prowiki.org/wiki4d/wiki.cgi?GdcHacking Then again, I have reverted back to using the old GCC 3.3 here... --anders
Jun 03 2005
prev sibling parent David Friedman <d3rdclsmail_a t_earthlink_d.t_net> writes:
Dejan Lekic wrote:
 David, I had some problems with building GCC v4.0 + GDC 0.12 . Is it
 supposed to work with v4.0 of GCC, or should I wait little bit? :)
 
 Best regards
 
 Dejan
 

The 4.0 code is not ready yet, but it shouldn't be too much longer. David
Jun 03 2005