-
-
Notifications
You must be signed in to change notification settings - Fork 262
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 front-end & libs to v2.089.0-beta.1 #3192
Conversation
As done upstream. DIP1000 is newly required for some @safe unittests.
Early showstoppers (after the usual C++ header regressions):
|
An LDC-specific unittest tests an `alias this` struct...
And more importantly, this eliminates the linker errors for the druntime test runners about undefined core.lifetime.move() template instantiations.
Fixes dmd-testsuite's fail_compilation/test1021.d.
LDC/LLVM doesn't support conflicting function declarations with the same mangled name in the same translation unit.
As tested by lit-test PGO/uninstrumented_main.d. [The automagic C entry point has moved from the compiler to druntime.]
Conflicts: runtime/druntime
The druntime-test-runner linker errors are worked around, but the underlying issue of course persists. |
To pass the tests with enabled optimizations, by having C main return a value.
Single remaining failure for x86, failing class Test109C { this(){ this.c = this; } Test109C c; }
const t109c = new Test109C();
void main()
{
assert(t109c.c is t109c);
} Previous
New (where we end up with 2 static objects):
|
@rainers: Maybe you can help - our code here relies on the identity of the Previously:
The 1st inner class reference now apparently uses another
I'm thinking it might have to do with the new CTFE regions and hope you have some insight into that. |
Fixes the runnable/interpret.d regression.
@rainers: Never mind, |
Good to hear, I had no idea what this all meant ;-) |
a6be4c4
to
680a8fc
Compare
Hmm, for Shippable on AArch64, negating a NaN yields the same NaN, the sign bit isn't flipped, regardless of precision (float/double/real). LLVM 10 will introduce an |
Floating-point negation is currently implemented as `-0 - x` (in llvm::IRBuilder::CreateFNeg), which apparently depends on hardware for NaN inputs. LLVM 10 will introduce an fneg instruction which is supposed to well-define this corner case, see http://lists.llvm.org/pipermail/llvm-dev/2018-September/126017.html.
631971e
to
5e7d5ec
Compare
No description provided.