Updating other compiler frontends [was D 1.076 and 2.061 release]
Iain Buclaw
ibuclaw at ubuntu.com
Tue Jan 8 05:49:51 PST 2013
On Tuesday, 1 January 2013 at 23:46:32 UTC, Walter Bright wrote:
> The big news is Win64 is now supported (in alpha).
>
> http://www.digitalmars.com/d/download.html
>
> D 1.076 changelog:
> http://www.digitalmars.com/d/1.0/changelog.html
>
> A couple issues:
>
> 1. the dlang.org isn't updated yet.
> 2. the OS X package hasn't been built yet (problems with the
> package script).
>
> I hope to get these resolved shortly. In the meantime, enjoy
> and have a Happy D Year!
Needed a bit of R&R so I started on merging 2.061 D frontend into
GDC last night.
The only urk I've hit so far is that someone thought it might be
a good idea to define a ulonglong and longlong type in a place
that doesn't exist in gdc's copy of the dfrontend. But given
that I've expressed positive views on moving towards minimising
the use of #ifdef's in the app code. Rather than removing the
use of this, I've done the following changes my side to try and
suppliment this.
- Removed some #ifdefs for GDC in the D frontend.
- Moved over d-gcc-complex_t.h to complex_t.h, moved about some
includes in mars.h.
- Created a port.c/port.h and started implementing hooks for gcc
backend.
- Created a new target.c/target.h and started defining some new
hooks to reduce some more #ifdef'd code in the dfrontend.
For successfully porting port.h over to gdc, the main problem is
with using gcc's real_t implementation instead of float, double
that dmd uses is that the real_t implementation relies on some
typedefs in mars.h (for dint64_t, etc), so these will need to be
moved out to somewhere else...
Would a target.h header be fine for this? Or do you have
somewhere else in mind.
Once I've finished the changes, I'll send a pull request of the
initial work for the next release.
Thanks,
Iain.
More information about the Digitalmars-d
mailing list