Thread overview
GDC release 1g
Oct 04, 2004
David Friedman
Oct 04, 2004
teqDruid
Oct 04, 2004
David Friedman
Oct 06, 2004
clayasaurus
Oct 06, 2004
teqDruid
Oct 05, 2004
Sebastian Czech
Oct 05, 2004
David Friedman
Oct 05, 2004
Sebastian Czech
Oct 05, 2004
David Friedman
October 04, 2004
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
October 04, 2004
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

October 04, 2004
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
> 
> 

October 05, 2004
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
October 05, 2004
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 
October 05, 2004
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
   http://www.digitalmars.com/drn-bin/wwwnews?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
October 05, 2004
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    http://www.digitalmars.com/drn-bin/wwwnews?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
October 06, 2004
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
> 
> 
October 06, 2004
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?
No.  GCC comes with a lot of compilers, and when you do the configure, you 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?
Dunno.  Yes, and kinda.  I'm unsure as to the speed of gdc (as compared to
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
>> 
>>