statement_toIR(): simplify conversion of label statements to goto#10323
statement_toIR(): simplify conversion of label statements to goto#10323dlang-bot merged 1 commit intodlang:masterfrom
Conversation
|
Thanks for your pull request, @WalterBright! 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 + dmd#10323" |
7b96f3f to
d1341ae
Compare
|
The buildkite/dmd error: The code https://github.com/vibe-d/vibe.d/blob/master/crypto/vibe/crypto/cryptorand.d Perhaps it has something to do with this? dlang/druntime#2739 |
|
Looks like the buildkite/dmd error is unrelated to this PR. |
94e81b0 to
9880a40
Compare
|
Same as #10322, I'd like a small pause for thought before going ahead. As I've said in the other, this reverts #4854, and goes against the reasoning for using a hash table in the first place - to remove dmd backend-only fields from common frontend types. If the reasoning for this is the same as in #10322, then perhaps it would be better to jump straight to something that uses the frontend for data analysis, rather than a halfway solution that has no effect for either gdc/ldc, other than slightly increasing memory usage. |
It was the breaking change in dlang/druntime#2739. @thewilsonator force-merged it. |
Because it took several tries for me to get this correct (making stupid mistakes). Getting it right here, where there is plenty of code to exercise all the cases, is a heluva lot easier than looking for subtle bugs in DFA, which is notoriously hard to debug.
It's actually less memory usage, because the hash table with the same number of values (and hence quadruple the storage because of the key, hash, and link) is no longer needed. |
9880a40 to
00257b4
Compare
by not needing another hash table