-
-
Notifications
You must be signed in to change notification settings - Fork 261
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Upgrade to D v2.079.1 #2587
Upgrade to D v2.079.1 #2587
Conversation
Older versions suffer from a frontend bug (for MSVC targets) causing a crash.
Status update: LDC + druntime/Phobos building fine on Win64 and Linux x64, most lit tests already green. |
Actually for druntime too, where it's unused.
It's for MSVC targets only and comes with a custom win64.mak makefile, so that running (GNU) make in the test dir doesn't work. I performed the test manually on Win64, works.
* `Error: Using the result of a comma expression is not allowed` * A test for DMD issue #16022 is in dmd-testsuite's runnable/xtest46.d.
The frontend now errors out when coming across a typeid expression in betterC mode. That error is checked in dmd-testsuite's fail_compilation/betterc.d.
The expected warning now properly results in exit code != 0 with `-w`.
Compiling the std.range.package unittests requires almost 1.8 GB on Win64, that's even slightly more than the regex ones. std.algorithm.searching is at 1.7 GB.
Status update on Win64: all unittests + druntime standalone tests green; 2 failing lit-tests (PGO/hash.d and codegen/betterC_typeinfo.d). => looking good; I expect similar results on Linux x64, but getting CI to work is a bit tedious (apparently more Phobos unittest module compilations requiring significantly more than 1 GB of memory; 32-bit std.file unittests crashing for Semaphore, possibly due to their RAM disk...). |
Don't attempt to emit the TypeInfo for each struct declaration. We skip the IR emission later on for betterC anyway, but starting with 2.079, the frontend emits an error when invoking genTypeInfo() in betterC mode.
This fixes lit-test codegen/betterC_typeinfo.d.
Conflicts: .circleci/config.yml runtime/druntime runtime/phobos tests/d2/dmd-testsuite
The critical section is lowered to a `static shared` global now; previously, it was `[static] __gshared`.
Conflicts: appveyor.yml driver/main.cpp runtime/druntime runtime/phobos
Ah, feels good:
So there's one more remaining issue, |
I cannot reproduce the |
As we don't have SSH access for Travis (at least I don't), I quickly modified the Semaphore config to build with |
So Travis Linux fails in general, not depending on LLVM version. It's based on Ubuntu 14.04, just like Semaphore. Awaiting Circle results (Ubuntu 14.04 too). |
Working fine on Circle Linux too. So I guess it's somehow related to the Travis environment; I propose to publish 1.9-beta1 as-is and check if people run into any issues. |
Sounds good. |
Using Call stack from Circle SSH, just in case:
|
I'm seeing a strange error when compiling for Android/ARM, which isn't reproducible when building for Linux/x64. Here's the command and error:
You should be able to reproduce with that command, as long as your llvm has the ARM backend. No idea why this frontend error would vary by arch. |
Notice the relative path - it's not |
No, that's not the problem. I took the generated command spit out by ninja and modified it so you could run it from a build directory easily, ie without my absolute paths for druntime and Phobos. Our config builds that file from the Phobos directory, hence that error I cut and pasted, but this command should spit out the same error but with the relative path, at least it did when I just tried it. |
This looks like an (upstream?) regression for Android, as that line 2845 is in a |
Yes, you're right, it's obviously a regression upstream from scoping the imports and not testing with Android. I'm so used to there being almost no Android differences in Phobos that I didn't even look at that file, but assumed it was a dmd frontend issue once it worked fine for linux. Sorry about the noise, adding the import easily fixes it. |
Glad you noticed so we can fix it before tagging beta1. |
Alright, with the simple fix for that regression that I merged to this branch at ldc-developers/phobos@eb79925, all the stdlib unit tests pass for Android/ARM, except for the single long-standing ARM EH inlining issue. Only two more tests fail from the dmd testsuite after updating from ldc 1.8 to this 1.9 branch, likely nothing substantial but haven't looked into them. I also tried building the stdlib tests for Android/AArch64, pretty much the same results as 1.8, with only two different floating-point-related failures in |
Conflicts: runtime/druntime runtime/phobos
Conflicts: runtime/druntime
Conflicts: driver/cl_options.h driver/configfile.h ldc2.conf.in ldc2_phobos.conf.in
No description provided.