dmd
dmd copied to clipboard
start killing 16 bit codegen
16 bit code is (as far as I can tell) not possible to generate: From backconfig.d , I didn't see any places where a pointer could be set to 2 bytes long
if (model == 64)
{
util_set64(cfg.exe);
type_init();
cod3_set64();
}
else
{
util_set32(cfg.exe);
type_init();
cod3_set32();
}
Thanks for your pull request and interest in making D better, @benjones! We are looking forward to reviewing it, and you should be hearing from a maintainer soon. Please verify that your PR follows this checklist:
- My PR is fully covered with tests (you can see the coverage diff by visiting the details link of the codecov check)
- My PR is as minimal as possible (smaller, focused PRs are easier to review than big ones)
- I have provided a detailed rationale explaining my changes
- New or modified functions have Ddoc comments (with
Params:
andReturns:
)
Please see CONTRIBUTING.md for more information.
If you have addressed all reviews or aren't sure how to proceed, don't hesitate to ping us with a simple comment.
Bugzilla references
Your 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 locally
If you don't have a local development environment setup, you can use Digger to test this PR:
dub run digger -- build "master + dmd#16438"
Build failures are related to this: https://forum.dlang.org/post/[email protected] The old version had a goto that jumped over a labelled variable declaration but that label is no longer used here
The existing code was making use of this bug (https://issues.dlang.org/show_bug.cgi?id=24534) and deleting a label that became unused revealed it. I've been looking into fixing that first, but will come back to working around it if it takes too much longer
It would be good to get the most of this PR working and split out what doesn't work into a separate PR. That will allow the progress that can be done to get done and it will hopefully make it more apparent what the actual use of the bug is.
Note that since DMD relies on the bug, fixing it will likely require a deprecation before an error so that we can still bootstrap properly.
@WalterBright is there something along these lines that would be helpful for me to do? I can't imagine any of these codepaths have been run in ages