Skip to content
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

[REG 2.095] Fix build regression when compiling dmd using separate compilation #11827

Merged
merged 2 commits into from Oct 8, 2020

Conversation

ibuclaw
Copy link
Member

@ibuclaw ibuclaw commented Oct 6, 2020

  • Reverts Moved resolveAliasThis from aliasthis.d to expressionsem.d #11743, as it caused missing template symbols for both dmd.root.stringtable.StringValue!(Type) and core.internal.array.equality.__equals!(Ensure[], Ensure[]) when building the dmd front-end using separate compilation method. Closes Issue 21294, however the underlying cause of templates not being emitted is being worked on by @atilaneves and co.
  • Applies an additional special workaround, because there were still undefined references to dmd.root.stringtable.StringValue!(Type) when the host compiler is dmd.

When compiling dmd modules separately, there is still undefined references to the symbol dmd.root.stringtable.StringTable!(Symbol), this can be resolved by adding the following leaf module should it ever become a probem:

module dmd.stringvaluetypes;

import dmd.gluelayer;
import dmd.root.stringtable;

alias SymbolStringValue = StringValue!(Symbol*);

@ibuclaw ibuclaw added Regression PRs that fix regressions GDC Gnu D Compiler Blocking Other Work review and pulling should be a priority labels Oct 6, 2020
@dlang-bot
Copy link
Contributor

dlang-bot commented Oct 6, 2020

Thanks for your pull request, @ibuclaw!

Bugzilla references

Auto-close Bugzilla Severity Description
21294 regression [REG 2.095]: DMD fails to link since PR11743

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#11827"

@ibuclaw ibuclaw changed the title Issue21294 [REG 2.095] Fix build regression when compiling dmd using separate compilation Oct 6, 2020
@ibuclaw
Copy link
Member Author

ibuclaw commented Oct 8, 2020

@thewilsonator ping?
@RazvanN7 / @AsterMiha FYI.

@dlang-bot dlang-bot merged commit 013ecca into dlang:master Oct 8, 2020
@ibuclaw ibuclaw deleted the issue21294 branch October 8, 2020 13:55
@ibuclaw
Copy link
Member Author

ibuclaw commented Oct 8, 2020

FYI, I'm running dustmite on this to get a reduced test which has missing StringValue!(Type) symbols, this will go into a new issue.

@ibuclaw
Copy link
Member Author

ibuclaw commented Oct 8, 2020

Bugzilla reference for missing template issue that #11743 possibly managed to trigger.
https://issues.dlang.org/show_bug.cgi?id=21299

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
auto-merge Blocking Other Work review and pulling should be a priority Bug Fix GDC Gnu D Compiler Regression PRs that fix regressions
Projects
None yet
3 participants