Add synthetic source locations #812
Draft
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This adds sveral features/fixes for improved debugging:
Synthetic source locations: Compiler-generated code (like local
initialization, ABI transforms) now uses SourceSpan::SYNTHETIC instead
of UNKNOWN. This differentiates compiler-generated code from truly
unknown locations and renders as #loc(synthetic) in output.
-Z print-masm-source-locations: New flag to print source locations
as #loc("file":line:col) annotations in MASM output.
-Z remap-path-prefix=FROM=TO: Remap source path prefixes for resolving
paths from DWARF when sources are in different locations (e.g., stdlib).
Use current_span to have more real source locations attached --
currently we used Default locations a lot - for example, each
operator would start with it.
Fix wasm component-level DWARF parsing
Requires miden-vm with SourceSpan::SYNTHETIC debug type.
To check locations on masm level, use: