dmd
dmd copied to clipboard
driver: Make DMD fail faster by calling backend_init() only when required
Signed-off-by: Luís Ferreira [email protected]
Thanks for your pull request, @ljmf00!
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#13820"
I see dmd still segfaults when you move this function call (no, you're not the first person to try :-)
I see dmd still segfaults when you move this function call (no, you're not the first person to try :-)
I know the reason but this can break GDC. The problem is the inline assembler. We should separate asm semantics from glue code, and this is currently not happening. I can move this before semantic3, but ideally, we should only move the code generation part (asm_emit
).
My question to you is: does GDC inline assembler semantics have glue code logic? I assume not, but would be cool to have this clarification. If not, it is fine to separate it.
I see dmd still segfaults when you move this function call (no, you're not the first person to try :-)
I know the reason but this can break GDC. The problem is the inline assembler. We should separate asm semantics from glue code, and this is currently not happening. I can move this before semantic3, but ideally, we should only move the code generation part (
asm_emit
).My question to you is: does GDC inline assembler semantics have glue code logic? I assume not, but would be cool to have this clarification. If not, it is fine to separate it.
Everything you need to know is in iasmgcc.d (the answer is no anyway, as gcc asm is just a fancy printf under the hood).
Ooof, there is more usage of the backend in semantic1 and semantic2 or some weird things other than inline asm on semantic3? I can't reproduce this locally.