On 12 August 2015 at 14:13, Martin Nowak via dmd-internals <dmd-internals@puremagic.com> wrote:
On 08/12/2015 09:00 AM, Iain Buclaw wrote:
> For the sake of completeness, I can backport cppmangle from 2.067 down to
> gdc to allow you to test that also, I have already verified that it is all
> that's needed to build ddmd (with a couple of small omissions or changes)
> and the resultant compile passes the D2 testsuite.

Sounds great, what do we need to do?

cppmangle is needed for the frontend to backend binding, right?
Isn't there more to the 2.067 C++ support?


Nope, just demangling.  Sharing backend with G++ ensures ABI compatibility in all things except va_list on certain targets where it's a static array (x86_64).  But that is mostly dealt with so long as you try to pass a va_list structure across boundaries (never happens in the existing codebase).

https://github.com/D-Programming-GDC/GDC/pull/131

By the way, I noticed that ddmd is always built in non-release mode, and I discovered that I can squeeze out more performance by speculatively skipping unneeded _d_invariant calls.

https://github.com/D-Programming-GDC/GDC/pull/132

Someone with better know-how of DMD backend could give it a try too...
 
A couple of small omissions and changes sounds like we could incorporate
those into upstream.

Will there be a 2.067 gdc?


After I finish re-writing the entire codegen layer, yes; eventually...

Again, pointing you in the direction of our current release tasks.

http://wiki.dlang.org/GDC/CurrentReleaseTasks

In one respect, I've kind of given myself more work to do now because I ignored the first round of visitor conversions in 2.066.  So in 2.067 I've got twice as many to do, and there little that can be done to work around it this time.

Regards
Iain