Fix parser regressions and native target CI - #486
Merged
Conversation
Signed-off-by: LunaStev <luna@lunastev.org>
…lation Signed-off-by: LunaStev <luna@lunastev.org>
Signed-off-by: LunaStev <luna@lunastev.org>
This was referenced Sep 7, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
Summary
Fix parser crashes and silently skipped tokens, preserve source locations through imports and generic expansion, and use consistent numeric conversion from lexer to LLVM. The series also fixes projected pointer loads exposed by Linux ARM64 ByteWriter initialization, supplies the native Windows ARM64 LLVM XML link dependency, and executes target-feature regression tests in CI.
Motivation
isz/uszand radix defaults could panic, unsupported tokens could disappear from function bodies, nested boolean statements were rejected, and inactive imported variants leaked into parsing. An incorrect i8 load from a pointer field could also make ByteWriter fail depending on its address. Core64 tests requested the disabled LoongArch backend, and native Windows ARM64 linking lackedxml2s.lib.Closes #405
Closes #406
Closes #475
Closes #476
Closes #477
Closes #478
Closes #479
Closes #482
Closes #483
Closes #484
Target and compatibility impact
-> !declarations have explicit non-returning control flow and LLVM lowering.parse_syntax_with_spans;parse_syntax_onlyretains the location-discarding compatibility path.Validation
Compiler changes passed the local workspace tests, default/core64 Clippy with warnings denied, rustdoc, release build, formatting, std policy and diff checks. The release compiler passed 248 corpus sources and 26 std runtime examples on Linux. Python tooling passed 16 tests and the manifest validated all 40 targets. Frontend tests have been rerun after the latest documentation/test cleanup.
Target validation includes complete core64 execution, isolated WebAssembly/frontend tests, LoongArch Clang/LLD/QEMU interoperability, and original ByteWriter regressions under cross-target QEMU. Native Linux ARM64 build/cases passed in this PR.
Remaining CI blockers
Native Windows ARM64 libxml2, release linking, Clippy and all three Rust unit tests passed before the later smoke/case failures. Resolve the above blockers and rerun required checks before merging. No auto-merge is enabled.
Additional contributor tasks: #487 (isolated frontend CI), #489 (terminal caret alignment), #490 (unfiltered single-backend regressions). #481 remains a separate LP64S runtime verification task.
Checklist
Signed-off-byline.