You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Fixes ~every test that fails due to an msvc-specific problem. I tried to modify the lldb-check commands in-place where possible. If I couldn't, I used revisions.
There is 1 very tiny visualizer bug fix that I lumped in here that affects summaries of empty arrays on msvc (] -> [])
basic-types-globals.rs- msvc stores globals under the statics category, and LLDB-with-PDB-debug-info requires that those be access by a fully qualified name (which shouldn't pose any issue for dwarf debug info, which IIRC can access via the qualified or unqualified name). I enforced the crate name through compiler flags, so even if this file moves around or is renamed, it shouldn't break.
The above also applies to no_mangle-info.rs except, for some reason, non-msvc targets are only able to access the top level static through the unqualified path. I'm not 100% sure if this is an LLDB bug or not, but it's not a huge deal for us since we can just use revisions.
The only test that changed behaviorally is thread-names.rs, which now uses a script command to print all threads, and then compiletest can pick the 2 it cares about out of that list. On windows, the spawned thread isn't thread 2, since there's typically a bunch of ntdll.dll threads. Even for non-windows, relying on exact thread numbers seems pretty fragile so this should help all around.
After this patch, the remainder of the 22 test failures on windows-msvc are the <variable has been optimized out> issue and the variable shadowing issue. The variable shadowing is a bug on their end, but we can work around it. I need to look into the <variable has been optimized out> issue a bit more to see what's going on there.
rustbot
added
S-waiting-on-review
Status: Awaiting review from the assignee but also interested parties.
T-compiler
Relevant to the compiler team, which will review and decide on the PR/issue.
labels
Sep 7, 2026
In the short term, I'm aiming to get windows-gnu and windows-msvc into a state where all the tests pass so we can actually run them in CI (and so that running them locally is useful). Once those are running in CI, we can transition the tests over on all targets at once. That way we don't have to disable them on windows-msvc in the interim, nor do we have blessed files that aren't being tested.
I forgot to mention it in the main comment, but this patch fixes the last failing test on windows-gnu (at least on my machine lol) so we can start testing that in CI whenever, we'd just need to do like the other patch and acquire LLDB on the windows runners. LLVM distributes via winget, and you can explicitly download a specific version, so it should be pretty much the same change as #161574
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
S-waiting-on-reviewStatus: Awaiting review from the assignee but also interested parties.T-compilerRelevant to the compiler team, which will review and decide on the PR/issue.
4 participants
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.
As part of #161657
Fixes ~every test that fails due to an msvc-specific problem. I tried to modify the
lldb-checkcommands in-place where possible. If I couldn't, I used revisions.There is 1 very tiny visualizer bug fix that I lumped in here that affects summaries of empty arrays on msvc (
]->[])basic-types-globals.rs- msvc stores globals under thestaticscategory, and LLDB-with-PDB-debug-info requires that those be access by a fully qualified name (which shouldn't pose any issue for dwarf debug info, which IIRC can access via the qualified or unqualified name). I enforced the crate name through compiler flags, so even if this file moves around or is renamed, it shouldn't break.The above also applies to
no_mangle-info.rsexcept, for some reason, non-msvc targets are only able to access the top level static through the unqualified path. I'm not 100% sure if this is an LLDB bug or not, but it's not a huge deal for us since we can just use revisions.The only test that changed behaviorally is
thread-names.rs, which now uses ascriptcommand to print all threads, and thencompiletestcan pick the 2 it cares about out of that list. On windows, the spawned thread isn't thread 2, since there's typically a bunch ofntdll.dllthreads. Even for non-windows, relying on exact thread numbers seems pretty fragile so this should help all around.After this patch, the remainder of the 22 test failures on
windows-msvcare the<variable has been optimized out>issue and the variable shadowing issue. The variable shadowing is a bug on their end, but we can work around it. I need to look into the<variable has been optimized out>issue a bit more to see what's going on there.r? @Kobzol , @jieyouxu