View mode: basic / threaded / horizontal-split · Log in · Help
March 22, 2004
Another front end for GCC
Hi All!

A few months ago, I started working on a D front end for GCC.  I didn't 
want to make any announcements until I was sure it was feasible.  Well,
I finally got it working.  This first release is almost a complete 
implementation -- the only major features missing are inline assembler 
and volatile statements.  Supported systems are x86 Linux and MacOS X 
with gcc 3.3 and 3.4.

You can download the files here:

http://home.earthlink.net/~dvdfrdmn/d

I'll post more about the implementation soon.

Enjoy!

David Friedman
March 22, 2004
Re: Another front end for GCC
David Friedman wrote:
> Hi All!
> 
> A few months ago, I started working on a D front end for GCC.  I didn't 
> want to make any announcements until I was sure it was feasible.  Well,
> I finally got it working.  This first release is almost a complete 
> implementation -- the only major features missing are inline assembler 
> and volatile statements.  Supported systems are x86 Linux and MacOS X 
> with gcc 3.3 and 3.4.

Does this mean that it may be within the realm of possibility to port 
your front end to DJGPP for D application development under DOS?

See DJGPP here
http://www.delorie.com/djgpp/

Comment from the FAQ at the DJGPP site
http://www.delorie.com/djgpp/v2faq/faq2.html
DJGPP is also used as back-end for programming languages other than 
C/C++. ADA, Pascal and Fortran compilers have been ported to MS-DOS 
based on DJGPP; GNU Pascal (gpc) and GNU Fortran (g77) are available 
from the DJGPP archives. The latest GCC releases include front ends for 
Java and Chill languages.

Starting from v2.0, DJGPP programs do not need a separate extender 
program, only a DPMI server to run; DJGPP includes a free 32-bit DPMI 
server which allows for a 32-bit, 4 GByte flat address space and up to 
512 MBytes of virtual memory on plain DOS machines that lack a DPMI 
server of their own.

> 
> You can download the files here:
> 
> http://home.earthlink.net/~dvdfrdmn/d
> 
> I'll post more about the implementation soon.
> 
> Enjoy!
> 
> David Friedman
>
March 22, 2004
Re: Another front end for GCC
holy schnitzel batman. cool!  Good thing I didn't work harder :-)
Do you actually understand the GCC internals?

-Ben

On Mon, 22 Mar 2004 07:54:03 -0500, David Friedman
<d3rdclsmail@earthlink.net> wrote:

>Hi All!
>
>A few months ago, I started working on a D front end for GCC.  I didn't 
>want to make any announcements until I was sure it was feasible.  Well,
>I finally got it working.  This first release is almost a complete 
>implementation -- the only major features missing are inline assembler 
>and volatile statements.  Supported systems are x86 Linux and MacOS X 
>with gcc 3.3 and 3.4.
>
>You can download the files here:
>
>http://home.earthlink.net/~dvdfrdmn/d
>
>I'll post more about the implementation soon.
>
>Enjoy!
>
>David Friedman
March 22, 2004
Re: Another front end for GCC
David Friedman wrote:
> Hi All!
> 
> A few months ago, I started working on a D front end for GCC.  I didn't 
> want to make any announcements until I was sure it was feasible.  Well,
> I finally got it working.  This first release is almost a complete 
> implementation -- the only major features missing are inline assembler 
> and volatile statements.  Supported systems are x86 Linux and MacOS X 
> with gcc 3.3 and 3.4.
> 
> You can download the files here:
> 
> http://home.earthlink.net/~dvdfrdmn/d
> 
> I'll post more about the implementation soon.
> 
> Enjoy!
> 
> David Friedman
> 

Awesome! And what a surprise! Thank you.
Now it will be even harder to focus on finishing my thesis...

Bastiaan.
March 22, 2004
Re: Another front end for GCC
IIIIIIINCREDIBLE!

I didn't imagine D would be available on GCC in such a short time! What 
this also means to me, that i might want to make a KallistiOS/ Dreamcast 
port (which would mainly involve MMU and GC).

-eye

David Friedman schrieb:
> Hi All!
> 
> A few months ago, I started working on a D front end for GCC.  I didn't 
> want to make any announcements until I was sure it was feasible.  Well,
> I finally got it working.  This first release is almost a complete 
> implementation -- the only major features missing are inline assembler 
> and volatile statements.  Supported systems are x86 Linux and MacOS X 
> with gcc 3.3 and 3.4.
> 
> You can download the files here:
> 
> http://home.earthlink.net/~dvdfrdmn/d
> 
> I'll post more about the implementation soon.
> 
> Enjoy!
> 
> David Friedman
>
March 22, 2004
Re: Another front end for GCC
Good lord man!  You are a bloody genius!  You're my hero! (Ben's still my
secondary hero though) ;)

Owen

In article <c3mnst$2htg$1@digitaldaemon.com>, David Friedman says...
>
>Hi All!
>
>A few months ago, I started working on a D front end for GCC.  I didn't 
>want to make any announcements until I was sure it was feasible.  Well,
>I finally got it working.  This first release is almost a complete 
>implementation -- the only major features missing are inline assembler 
>and volatile statements.  Supported systems are x86 Linux and MacOS X 
>with gcc 3.3 and 3.4.
>
>You can download the files here:
>
>http://home.earthlink.net/~dvdfrdmn/d
>
>I'll post more about the implementation soon.
>
>Enjoy!
>
>David Friedman
>
March 22, 2004
Re: Another front end for GCC
Simon J Mackenzie wrote:
> David Friedman wrote:
> 
>> Hi All!
>>
>> A few months ago, I started working on a D front end for GCC.  I 
>> didn't want to make any announcements until I was sure it was 
>> feasible.  Well,
>> I finally got it working.  This first release is almost a complete 
>> implementation -- the only major features missing are inline assembler 
>> and volatile statements.  Supported systems are x86 Linux and MacOS X 
>> with gcc 3.3 and 3.4.
> 
> 
> Does this mean that it may be within the realm of possibility to port 
> your front end to DJGPP for D application development under DOS?
> 

Phew! I haven't used DJGPP in ages!  I see that GCC 3.3.3 is available 
for DJGPP so it should be possible.

David

> See DJGPP here
> http://www.delorie.com/djgpp/
> 
> Comment from the FAQ at the DJGPP site
> http://www.delorie.com/djgpp/v2faq/faq2.html
> DJGPP is also used as back-end for programming languages other than 
> C/C++. ADA, Pascal and Fortran compilers have been ported to MS-DOS 
> based on DJGPP; GNU Pascal (gpc) and GNU Fortran (g77) are available 
> from the DJGPP archives. The latest GCC releases include front ends for 
> Java and Chill languages.
> 
> Starting from v2.0, DJGPP programs do not need a separate extender 
> program, only a DPMI server to run; DJGPP includes a free 32-bit DPMI 
> server which allows for a 32-bit, 4 GByte flat address space and up to 
> 512 MBytes of virtual memory on plain DOS machines that lack a DPMI 
> server of their own.
> 
>>
>> You can download the files here:
>>
>> http://home.earthlink.net/~dvdfrdmn/d
>>
>> I'll post more about the implementation soon.
>>
>> Enjoy!
>>
>> David Friedman
>>
March 22, 2004
Re: Another front end for GCC
In article <hpqt50ti5he1j1116mkriqaeph24344peg@4ax.com>, "Ben Hinkle"
<bhinkle4@juno.com> wrote:

I feel like my brain has been so twisted by the GCC compiler internals, I
don't understand anything anymore O.o

> holy schnitzel batman. cool!  Good thing I didn't work harder :-) Do you
> actually understand the GCC internals?
> 
> -Ben
> 
> On Mon, 22 Mar 2004 07:54:03 -0500, David Friedman
> <d3rdclsmail@earthlink.net> wrote:
> 
>>Hi All!
>>
>>A few months ago, I started working on a D front end for GCC.  I didn't
>>want to make any announcements until I was sure it was feasible.  Well,
>>I finally got it working.  This first release is almost a complete
>>implementation -- the only major features missing are inline assembler
>>and volatile statements.  Supported systems are x86 Linux and MacOS X
>>with gcc 3.3 and 3.4.
>>
>>You can download the files here:
>>
>>http://home.earthlink.net/~dvdfrdmn/d
>>
>>I'll post more about the implementation soon.
>>
>>Enjoy!
>>
>>David Friedman
>
March 22, 2004
Small update
That'll teach me not test test on the build system...  If you have
downloaded "Release 1" and not "Release 1b" you may get crashes when
linking.  Also, the build instructions won't get Phobos installed
correctly.

If you don't want to download again, here is the only code change:

--- d-r1/d-spec.c	Sun Mar 21 20:40:23 2004
+++ d-r1b/d-spec.c	Mon Mar 22 15:11:34 2004
@@ -234,7 +234,7 @@
#endif

    /* Make sure to have room for the trailing NULL argument.  */
-    num_args = argc + added + need_math + shared_libgcc + (library > 0) + 1;
+    num_args = argc + added + need_math + shared_libgcc + (library > 0 ? 2 : 0) + 1;
    arglist = xmalloc (num_args * sizeof (char *));

    i = 0;

As for Phobos, delete d/phobos/gcc (it's a symlink), move d/gccrtl to
d/phobos/gcc, and follow the updated install instructions.

David
March 22, 2004
Re: Another front end for GCC
In article <c3mnst$2htg$1@digitaldaemon.com>, David Friedman says...
>
>Hi All!
>
>A few months ago, I started working on a D front end for GCC.  I didn't 
>want to make any announcements until I was sure it was feasible.  Well,
>I finally got it working.  This first release is almost a complete 
>implementation -- the only major features missing are inline assembler 
>and volatile statements.  Supported systems are x86 Linux and MacOS X 
>with gcc 3.3 and 3.4.

Awesome!

I've been trying to build this thing on cygwin today.  Minus a few odd nuances,
(no bits/nan.h, no strtold, need ULL on the end of megahuge hex constants) it's
worked pretty well.

One problem is that neither the Win32 or Unix version tags are defined, so lots
of Phobos functions don't compile, as they only deal with one or the other.  GNU
is defined, though.  Needless to say, this causes all manner of entertainment.
:)

-- andy
« First   ‹ Prev
1 2
Top | Discussion index | About this forum | D home