dmd icon indicating copy to clipboard operation
dmd copied to clipboard

start killing 16 bit codegen

Open benjones opened this issue 9 months ago • 5 comments

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();
  }

benjones avatar May 03 '24 17:05 benjones

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: and Returns:)

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"

dlang-bot avatar May 03 '24 17:05 dlang-bot

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

benjones avatar May 03 '24 19:05 benjones

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

benjones avatar May 04 '24 03:05 benjones

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.

thewilsonator avatar May 04 '24 03:05 thewilsonator

@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

benjones avatar May 21 '24 20:05 benjones