www.digitalmars.com         C & C++   DMDScript  

D.gnu - GDC release 1g

reply David Friedman <d3rdclsmail earthlink.net> writes:
Alive again...

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

   * Fixes
     o Various debugging information problems
     o Report more errors and warning with correct line numbers
     o Registers are now put on the stack for garbage collection
     o Signed/unsigned expression semantics should match DMD now

   * Improvements
     o Update to DMD 0.102
     o Templates are handled better on targets without template support

This release didn't have as many improvements as I would liked, but I 
should be able to devote more time now.

Here is my current roadmap for GDC.  Let me know if you think something 
is missing or deserves higher priority.

. Cleanup / resolve outstanding back-end issues
. Replace boehm-gc with simple library
. 64-bit support
. Try again to get GDC to work with the Apple compiler
. DMD calling conventions for x86; don't use trampolines with delegates.
. Inline assembler

David
Oct 03 2004
next sibling parent reply teqDruid <me teqdruid.com> writes:
Awesome!  I'm compiling it now, so I haven't had a chance to try it, but
I'm excited. I'd appriciate it if you made the inline assembler a higher
priority.  Mango won't build without it. (Although I haven't tried)

Just out of curiousity, have you had any contact with the gcc guys about
this?  Just wondering if they're interested in including this with gcc
once D hits 1.0.  That'd be a BIG thing for D- plus it'd make everything a
lot easier for me on my own system.

John

On Sun, 03 Oct 2004 21:14:29 -0400, David Friedman wrote:

 Alive again...
 
 http://home.earthlink.net/~dvdfrdmn/d/gdc-1g.tar.bz2
 
    * Fixes
      o Various debugging information problems
      o Report more errors and warning with correct line numbers
      o Registers are now put on the stack for garbage collection
      o Signed/unsigned expression semantics should match DMD now
 
    * Improvements
      o Update to DMD 0.102
      o Templates are handled better on targets without template support
 
 This release didn't have as many improvements as I would liked, but I 
 should be able to devote more time now.
 
 Here is my current roadmap for GDC.  Let me know if you think something 
 is missing or deserves higher priority.
 
 . Cleanup / resolve outstanding back-end issues
 . Replace boehm-gc with simple library
 . 64-bit support
 . Try again to get GDC to work with the Apple compiler
 . DMD calling conventions for x86; don't use trampolines with delegates.
 . Inline assembler
 
 David

Oct 03 2004
next sibling parent David Friedman <d3rdclsmail earthlink.net> writes:
It looks like Mango doesn't need inline asm, it just tests for it the 
wrong way.  It should use "version(D_InlineAsm)"  OTOH, I should turn 
off version(DigitalMars) in GDC.

I haven't talked to them yet, but I agree it would be good to get them 
on board.

David

teqDruid wrote:
 Awesome!  I'm compiling it now, so I haven't had a chance to try it, but
 I'm excited. I'd appriciate it if you made the inline assembler a higher
 priority.  Mango won't build without it. (Although I haven't tried)
 
 Just out of curiousity, have you had any contact with the gcc guys about
 this?  Just wondering if they're interested in including this with gcc
 once D hits 1.0.  That'd be a BIG thing for D- plus it'd make everything a
 lot easier for me on my own system.
 
 John
 
 On Sun, 03 Oct 2004 21:14:29 -0400, David Friedman wrote:
 
 
Alive again...

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

   * Fixes
     o Various debugging information problems
     o Report more errors and warning with correct line numbers
     o Registers are now put on the stack for garbage collection
     o Signed/unsigned expression semantics should match DMD now

   * Improvements
     o Update to DMD 0.102
     o Templates are handled better on targets without template support

This release didn't have as many improvements as I would liked, but I 
should be able to devote more time now.

Here is my current roadmap for GDC.  Let me know if you think something 
is missing or deserves higher priority.

. Cleanup / resolve outstanding back-end issues
. Replace boehm-gc with simple library
. 64-bit support
. Try again to get GDC to work with the Apple compiler
. DMD calling conventions for x86; don't use trampolines with delegates.
. Inline assembler

David


Oct 04 2004
prev sibling parent reply clayasaurus <clayasaurus gmail.com> writes:
The day GDC becomes full fledged and D becomes 1.0 will be a great day.
My friend once told me that he would start using D once a 'gdc' became 
available, and I feel a lot of others out there feel the same way.

Thanks David for all your hard work! This is going to be a huge step to 
get D accepted into the mainstream!

I have a question... If gdc did become part of the gcc project would 
that mean all linux distro's using gcc would now have gdc?

I have another question. Does gdc compile code fast like dmd, or just as 
fast as gcc? Is it just Walter who wrote a super quick compiler, or is 
the D language in general like that?

Thanks.

teqDruid wrote:
 Awesome!  I'm compiling it now, so I haven't had a chance to try it, but
 I'm excited. I'd appriciate it if you made the inline assembler a higher
 priority.  Mango won't build without it. (Although I haven't tried)
 
 Just out of curiousity, have you had any contact with the gcc guys about
 this?  Just wondering if they're interested in including this with gcc
 once D hits 1.0.  That'd be a BIG thing for D- plus it'd make everything a
 lot easier for me on my own system.
 
 John
 
 On Sun, 03 Oct 2004 21:14:29 -0400, David Friedman wrote:
 
 
Alive again...

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

   * Fixes
     o Various debugging information problems
     o Report more errors and warning with correct line numbers
     o Registers are now put on the stack for garbage collection
     o Signed/unsigned expression semantics should match DMD now

   * Improvements
     o Update to DMD 0.102
     o Templates are handled better on targets without template support

This release didn't have as many improvements as I would liked, but I 
should be able to devote more time now.

Here is my current roadmap for GDC.  Let me know if you think something 
is missing or deserves higher priority.

. Cleanup / resolve outstanding back-end issues
. Replace boehm-gc with simple library
. 64-bit support
. Try again to get GDC to work with the Apple compiler
. DMD calling conventions for x86; don't use trampolines with delegates.
. Inline assembler

David


Oct 06 2004
parent teqDruid <me teqdruid.com> writes:
On Wed, 06 Oct 2004 17:58:43 -0400, clayasaurus wrote:

 The day GDC becomes full fledged and D becomes 1.0 will be a great day.
 My friend once told me that he would start using D once a 'gdc' became 
 available, and I feel a lot of others out there feel the same way.
 
 Thanks David for all your hard work! This is going to be a huge step to 
 get D accepted into the mainstream!
 
 I have a question... If gdc did become part of the gcc project would 
 that mean all linux distro's using gcc would now have gdc?

can choose what compilers get compiled. Various distros include different gcc configurations, although this would make it far more likely that it would be included. Plus, on a distro like Gentoo, D could be a use flag so it would get compiled with gcc.
 
 I have another question. Does gdc compile code fast like dmd, or just as 
 fast as gcc? Is it just Walter who wrote a super quick compiler, or is 
 the D language in general like that?

dmd) however it uses the same front-end, so unless the gcc back end is really slow (or David put some calls to sleep() in his glue code) I would expect the speeds to be comparable. Yes, Walter is a genius, and DMD is a super-fast compiler. The D language is also designed to be easy to lex and parse, so theoretically, it's faster to parse/lex than other languages.
 
 Thanks.
 
 teqDruid wrote:
 Awesome!  I'm compiling it now, so I haven't had a chance to try it, but
 I'm excited. I'd appriciate it if you made the inline assembler a higher
 priority.  Mango won't build without it. (Although I haven't tried)
 
 Just out of curiousity, have you had any contact with the gcc guys about
 this?  Just wondering if they're interested in including this with gcc
 once D hits 1.0.  That'd be a BIG thing for D- plus it'd make everything a
 lot easier for me on my own system.
 
 John
 
 On Sun, 03 Oct 2004 21:14:29 -0400, David Friedman wrote:
 
 
Alive again...

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

   * Fixes
     o Various debugging information problems
     o Report more errors and warning with correct line numbers
     o Registers are now put on the stack for garbage collection
     o Signed/unsigned expression semantics should match DMD now

   * Improvements
     o Update to DMD 0.102
     o Templates are handled better on targets without template support

This release didn't have as many improvements as I would liked, but I 
should be able to devote more time now.

Here is my current roadmap for GDC.  Let me know if you think something 
is missing or deserves higher priority.

. Cleanup / resolve outstanding back-end issues
. Replace boehm-gc with simple library
. 64-bit support
. Try again to get GDC to work with the Apple compiler
. DMD calling conventions for x86; don't use trampolines with delegates.
. Inline assembler

David



Oct 06 2004
prev sibling next sibling parent reply Sebastian Czech <sebastian.czech arcor.de> writes:
On Sun, 03 Oct 2004 21:14:29 -0400
David Friedman <d3rdclsmail earthlink.net> wrote:

 Alive again...

nice :) there is an bug in the gen_unix program. gen_unix.c line 377 something with the macro is wrong but i am to tired to check it now: INT_FIELD(fi[1],l_linger); 0x080497a5 <c_socket+416>: push 0x1 0x080497a7 <c_socket+418>: mov DWORD PTR [ebp-20],eax 0x080497aa <c_socket+421>: mov DWORD PTR [ebp-12],0x4 0x080497b1 <c_socket+428>: mov DWORD PTR [ebp-8],0x4 0x080497b8 <c_socket+435>: push 0x4 0x080497ba <c_socket+437>: mov DWORD PTR [ebp-4],0x804a232 0x080497c1 <c_socket+444>: mov DWORD PTR [ebp+4],0x1 0x080497c8 <c_socket+451>: call 0x8048454 <int_type_name> and the return address is 1 - sig11... my config: linux gcc-3.4.2 glibc-2.3.3 Sebastian
Oct 04 2004
parent David Friedman <d3rdclsmail earthlink.net> writes:
Too bad I can't write those programs in D. The bug would have been 
caught before I released it ^^;

Fix:

375c375
<       FieldInfo fi[1];
---
       FieldInfo fi[2];

Sebastian Czech wrote:
 On Sun, 03 Oct 2004 21:14:29 -0400
 David Friedman <d3rdclsmail earthlink.net> wrote:
 
 
Alive again...

nice :) there is an bug in the gen_unix program. gen_unix.c line 377 something with the macro is wrong but i am to tired to check it now: INT_FIELD(fi[1],l_linger); 0x080497a5 <c_socket+416>: push 0x1 0x080497a7 <c_socket+418>: mov DWORD PTR [ebp-20],eax 0x080497aa <c_socket+421>: mov DWORD PTR [ebp-12],0x4 0x080497b1 <c_socket+428>: mov DWORD PTR [ebp-8],0x4 0x080497b8 <c_socket+435>: push 0x4 0x080497ba <c_socket+437>: mov DWORD PTR [ebp-4],0x804a232 0x080497c1 <c_socket+444>: mov DWORD PTR [ebp+4],0x1 0x080497c8 <c_socket+451>: call 0x8048454 <int_type_name> and the return address is 1 - sig11... my config: linux gcc-3.4.2 glibc-2.3.3 Sebastian

Oct 04 2004
prev sibling parent reply Sebastian Czech <sebastian.czech arcor.de> writes:
hello

i compiled an libphobos.so today (linux x86 glibc 2.3.3) and there are 2 
problems...

1. phobos uses execvpe() an non posix version that is unresolved even in the 
   static libphobos 
   digitalmars.D/9271

2. phobos/config/config-mid line 55 and line 68
   
   "int __isfinitel(real);"
   "int isfinite(real x) { return __isfinitel(x); }"
   
   __isfinitel is unresolved - isfinitel is not in C99 nor IEEE Std 1003.1 .
   C99 has isfinite for float and double. 

"The great thing about standards, is that there are so many of them"

Sebastian
Oct 05 2004
parent David Friedman <d3rdclsmail earthlink.net> writes:
Sebastian Czech wrote:
 hello
 
 i compiled an libphobos.so today (linux x86 glibc 2.3.3) and there are 2 
 problems...
 
 1. phobos uses execvpe() an non posix version that is unresolved even in the 
    static libphobos 
    digitalmars.D/9271
 
 2. phobos/config/config-mid line 55 and line 68
    
    "int __isfinitel(real);"
    "int isfinite(real x) { return __isfinitel(x); }"
    
    __isfinitel is unresolved - isfinitel is not in C99 nor IEEE Std 1003.1 .
    C99 has isfinite for float and double. 
 
 "The great thing about standards, is that there are so many of them"
 
 Sebastian

Thanks, Sebastian. I'll add configure tests for these. If you comment out the undefined functions, std.math.isfinite will still work because it doesn't actually depend on the C library routine. David
Oct 05 2004