Merge testsuite and relevant compiler fixes up 2.076.1#7516
Merge testsuite and relevant compiler fixes up 2.076.1#7516wilzbach merged 21 commits intodlang:dmd-cxxfrom
Conversation
|
Thanks for your pull request, @ibuclaw! Bugzilla references
|
|
OK, I'll take a look. |
|
I might need to revert some parts, some pieces of gdc specific fixes may have slipped in (such as #7065). |
|
Sure, just update this pull and I'll grab the latest to test. |
|
With this simple patch applied on top of this pull, I get your new C++ dmd to build on linux/x64. Checking out the I suggest you apply this small patch also and let's see how far the various CIs get. I'll see if I can get the tests running for the 2.076.1 stdlib. |
This was removed from upstream, and so the codegen needs to be updated to reflect instead. (See these PRs #6530, #6536, and #6758).
I suspect this because of my referenced vector patch which I've applied locally to gdc (seriously dmd, allowing implicity void16<->simd conversion was a dumb idea). |
By the way, would it be useful putting this in a header? i.e: Likewise there could be a Currently, there's a ridiculous list of declarations at the top of sources, such as: or: |
Yeah, I found and initally ported those pulls to C++, then realized the current 2.071 backend on this branch didn't support that. I'd like to hold off on updating the backend for now, as I started down that path by jumping to the 2.076 backend, but hit more and more of the dmd glue layer that needed updating too. I'd rather get this pull somewhat working with this older backend, then submit another pull later updating the backend. You can add these module reversions as a separate commit, and I will revert it later.
Yes, I just followed what's already done, but headers would be good. OTOH, I don't see myself refactoring or doing much with this codebase other than getting it to work, so no need to put much effort into that. |
|
Tried your updated pull without the vector conversion fixes, but got a different error in So I reverted that file to the commit where it was first introduced, dlang/druntime@184435f24, to get it to compile again and I was able to build the tests for druntime and phobos. With the following patches to get rid of the Phobos tweaks: Nice work, Ian, this means porters can use this dmd-cxx branch with a relatively recent stdlib, after a couple more screws are tightened for these remaining issues. |
|
Awesome guys! So let's up update |
Well, gdc uses a more or less vanilla 2.076 druntime and phobos library, and passes the testsuite that ships with 2.076 as well (excluding |
|
I guess someone can go ahead and merge this then and I will submit separate pulls to get this branch building. |
What's up with Travis? I thought that one was the only CI working so far? |
Note, this is a glibc bug in 2.26. |
I explicitly did not make any backend changes. So backend code won't compile unless its been updated to match the new frontend api/interface |
|
OK. Let's move |
This synchronizes the front-end with GDC.
@joakim-noah - Care to have a look at mars.c and the rest of the back-end?