core/atomic.d: Add GDC atomic support code#2831
core/atomic.d: Add GDC atomic support code#2831dlang-bot merged 1 commit intodlang:masterfrom ibuclaw:atomicgdc
Conversation
|
Thanks for your pull request, @ibuclaw! Bugzilla referencesYour PR doesn't reference any Bugzilla issue. If your PR contains non-trivial changes, please reference a Bugzilla issue or create a manual changelog. Testing this PR locallyIf you don't have a local development environment setup, you can use Digger to test this PR: dub fetch digger
dub run digger -- build "master + druntime#2831" |
TurkeyMan
left a comment
There was a problem hiding this comment.
I already reviewed this, but here's my 👍
|
What's sad is that no unit tests will cover this GDC code... is that fine? |
Erm, all the unittests in core.atomic. |
|
Yeah but the DMD CI won't prove this code path, it could regress against GDC? |
If it isn't syntactically valid, an error would be thrown. Any API changes need to be synchronized, however I would expect the person making the change would do the required due dilligence, otherwise there's no basis for accepting them. |
|
Iain, what's your ultimate goal wrt. these upstreamings? Do you aim for not having to maintain druntime/Phobos forks or do you plan to restrict the upstreamings to manageably-sized diffs? Edit: Never mind, I've just seen that discussion in the previous PR. Certainly less work for us downstream compilers, but the code doesn't get more readable/tight. Not sure if LDC will follow suit; the recent refactorings are certainly a hassle to adapt to, but on the other hand, upstreaming everything will make refactorings a bigger hassle here upstream, and in the worst case, less likely due to the additional work for potentially interested contributors. |
Following on from #2596, rewrite to work with the new atomic API
Following on from #2596, rewrite to work with the new atomic API.
This has been peer reviewed by @TurkeyMan
Best viewed with whitespace ignored, as the removals are only highlighted by indenting the DMD specific code into a version(DigitalMars) block.