www.digitalmars.com         C & C++   DMDScript  

D.gnu - Another front end for GCC

reply David Friedman <d3rdclsmail earthlink.net> writes:
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
Mar 22 2004
next sibling parent reply Simon J Mackenzie <project.d smackoz.fastmail.fm> writes:
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
 
Mar 22 2004
parent David Friedman <d3rdclsmail earthlink.net> writes:
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
Mar 22 2004
prev sibling next sibling parent reply Ben Hinkle <bhinkle4 juno.com> writes:
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
Mar 22 2004
parent "David Friedman" <d3rdclsmail earthlink.net> writes:
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
Mar 22 2004
prev sibling next sibling parent Bastiaan Veelo <Bastiaan.N.Veelo ntnu.no> writes:
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.
Mar 22 2004
prev sibling next sibling parent Ilya Minkov <minkov cs.tum.edu> writes:
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
 
Mar 22 2004
prev sibling next sibling parent resistor mac.com writes:
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
Mar 22 2004
prev sibling next sibling parent "David Friedman" <d3rdclsmail earthlink.net> writes:
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
Mar 22 2004
prev sibling next sibling parent Andy Friesen <Andy_member pathlink.com> writes:
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
Mar 22 2004
prev sibling next sibling parent reply John Reimer <jjreimer telus.net> writes:
Wooooah!!  Now that's a surprise and a half.... For some reason I kept 
overlooking this thread.  It's a good thing somebody pointed it out from 
the D group!
Mar 22 2004
parent John Reimer <jjreimer telus.net> writes:
John Reimer wrote:
 Wooooah!!  Now that's a surprise and a half.... For some reason I kept 
 overlooking this thread.  It's a good thing somebody pointed it out from 
 the D group!
Ooh... This does open up incredible possibilities. The new PalmOS Developer Suite (Eclipse SDK) uses gcc 3.3.1. It would be incredible to be able to work with D instead of plain old C. I don't know how the gc would work with a palm device or phobos for that matter... But still interesting ;-). Later, John
Mar 22 2004
prev sibling parent "Walter" <walter digitalmars.com> writes:
"David Friedman" <d3rdclsmail earthlink.net> wrote in message
news:c3mnst$2htg$1 digitaldaemon.com...
 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.
This is totally cool! Thanks!
Mar 22 2004