codegen: classify localized MSVC linker progress as linker_info - #160445
codegen: classify localized MSVC linker progress as linker_info#160445rabindra789 wants to merge 1 commit into
Conversation
|
r? @nnethercote rustbot has assigned @nnethercote. Use Why was this reviewer chosen?The reviewer was selected based on:
|
This comment has been minimized.
This comment has been minimized.
a757efd to
1b5e16b
Compare
1b5e16b to
c94079b
Compare
This comment has been minimized.
This comment has been minimized.
c94079b to
9c49052
Compare
|
Failed to set assignee to
|
Doesn't have review privileges? Huh. Should probably still take a look... |
9c49052 to
a082aa0
Compare
|
Thanks for the review! @nnethercote I've addressed the comments: Wrapped the long comments. Force-pushed the updated commit |
|
this seems like a good idea but i don’t think i’m a good reviewer for stuff involving link.exe. r? @ChrisDenton |
|
|
link.exe progress messages (e.g. "Creating library ...") are detected
by matching their English text, which fails when the English language
pack is not installed and the output is localized despite VSLANG=1033.
Since all actual warnings and errors carry a locale-independent LNK####
code, classify every line without one as linker_info instead of
linker_messages.
Diagnostics are recognized by their structured form, `LINK : warning
LNK####:`: the code must be followed by a `:` that is the second colon
in the line, so the matcher cannot accidentally hit file names.
The one code-bearing informational line, LNK6004 ("performing full
link"), keeps the exception that was previously handled by matching its
English text.
a082aa0 to
a1b86a7
Compare
|
Thanks! @bors r+ rollup |
…ker-output, r=ChrisDenton codegen: classify localized MSVC linker progress as linker_info Fixes rust-lang#159133. `report_linker_output` currently recognizes only a small set of English `link.exe` progress messages as informational. When the linker output is localized, equivalent progress messages are instead emitted through the `linker_messages` lint. Instead of matching specific English strings, classify MSVC linker output based on locale-independent `LNK####` diagnostic codes.Lines without an `LNK####` code are routed to `linker_info`, while diagnostics continue to be emitted through `linker_messages`. The existing `LNK6004` incremental-link exception is preserved. Testing - Added a run-make regression test for localized `link.exe` progress output. - Verified the existing MSVC linker-info tests continue to pass.
Rollup of 14 pull requests Successful merges: - #150885 (Revive L4Re target) - #159643 (Add support for splatted function pointers) - #160433 (delegation: add support for wrapping of the return value with `From::from`) - #160530 (refactor handling of target features in Session) - #160606 (bootstrap: Store and use an explicit CheckKind in `check::Rustc`) - #160628 (fix ICE in `suggest_add_reference_to_arg` for non-callable items) - #160634 (miri subtree update) - #158904 (Fix FutureDropPoll shim for by-move async closures) - #160335 (dlopen offload) - #160445 (codegen: classify localized MSVC linker progress as linker_info) - #160504 (cleanup borrowck, improve c-variadic handling) - #160587 (Add regression test for associated type outlives bound at call site) - #160625 (platform-support/netbsd.md: No longer mention 8.x, due to EoL.) - #160636 (derive(Diagnostic): link to proper docs)
…ker-output, r=ChrisDenton codegen: classify localized MSVC linker progress as linker_info Fixes rust-lang#159133. `report_linker_output` currently recognizes only a small set of English `link.exe` progress messages as informational. When the linker output is localized, equivalent progress messages are instead emitted through the `linker_messages` lint. Instead of matching specific English strings, classify MSVC linker output based on locale-independent `LNK####` diagnostic codes.Lines without an `LNK####` code are routed to `linker_info`, while diagnostics continue to be emitted through `linker_messages`. The existing `LNK6004` incremental-link exception is preserved. Testing - Added a run-make regression test for localized `link.exe` progress output. - Verified the existing MSVC linker-info tests continue to pass.
…uwer Rollup of 21 pull requests Successful merges: - #159784 (Hint that memchr returns an in-bounds index) - #150885 (Revive L4Re target) - #159643 (Add support for splatted function pointers) - #160433 (delegation: add support for wrapping of the return value with `From::from`) - #160530 (refactor handling of target features in Session) - #160606 (bootstrap: Store and use an explicit CheckKind in `check::Rustc`) - #160628 (fix ICE in `suggest_add_reference_to_arg` for non-callable items) - #160634 (miri subtree update) - #157641 (Do not promote extern statics) - #158904 (Fix FutureDropPoll shim for by-move async closures) - #160103 (Add regression test for GAT bound mismatched type error) - #160335 (dlopen offload) - #160445 (codegen: classify localized MSVC linker progress as linker_info) - #160499 (rustc_resolve: move diagnostic attribute linting to attr parsing) - #160504 (cleanup borrowck, improve c-variadic handling) - #160577 (expand: Feature gate AST-based attribute macros on expressions and statements) - #160587 (Add regression test for associated type outlives bound at call site) - #160625 (platform-support/netbsd.md: No longer mention 8.x, due to EoL.) - #160636 (derive(Diagnostic): link to proper docs) - #160644 (Clean up some manual debug impls) - #160649 (move naked function ui tests)
…ker-output, r=ChrisDenton codegen: classify localized MSVC linker progress as linker_info Fixes rust-lang#159133. `report_linker_output` currently recognizes only a small set of English `link.exe` progress messages as informational. When the linker output is localized, equivalent progress messages are instead emitted through the `linker_messages` lint. Instead of matching specific English strings, classify MSVC linker output based on locale-independent `LNK####` diagnostic codes.Lines without an `LNK####` code are routed to `linker_info`, while diagnostics continue to be emitted through `linker_messages`. The existing `LNK6004` incremental-link exception is preserved. Testing - Added a run-make regression test for localized `link.exe` progress output. - Verified the existing MSVC linker-info tests continue to pass.
…uwer Rollup of 20 pull requests Successful merges: - #159784 (Hint that memchr returns an in-bounds index) - #150885 (Revive L4Re target) - #159643 (Add support for splatted function pointers) - #160433 (delegation: add support for wrapping of the return value with `From::from`) - #160530 (refactor handling of target features in Session) - #160606 (bootstrap: Store and use an explicit CheckKind in `check::Rustc`) - #160628 (fix ICE in `suggest_add_reference_to_arg` for non-callable items) - #160634 (miri subtree update) - #157641 (Do not promote extern statics) - #158904 (Fix FutureDropPoll shim for by-move async closures) - #160103 (Add regression test for GAT bound mismatched type error) - #160335 (dlopen offload) - #160445 (codegen: classify localized MSVC linker progress as linker_info) - #160499 (rustc_resolve: move diagnostic attribute linting to attr parsing) - #160504 (cleanup borrowck, improve c-variadic handling) - #160577 (expand: Feature gate AST-based attribute macros on expressions and statements) - #160587 (Add regression test for associated type outlives bound at call site) - #160625 (platform-support/netbsd.md: No longer mention 8.x, due to EoL.) - #160636 (derive(Diagnostic): link to proper docs) - #160644 (Clean up some manual debug impls)
…ker-output, r=ChrisDenton codegen: classify localized MSVC linker progress as linker_info Fixes rust-lang#159133. `report_linker_output` currently recognizes only a small set of English `link.exe` progress messages as informational. When the linker output is localized, equivalent progress messages are instead emitted through the `linker_messages` lint. Instead of matching specific English strings, classify MSVC linker output based on locale-independent `LNK####` diagnostic codes.Lines without an `LNK####` code are routed to `linker_info`, while diagnostics continue to be emitted through `linker_messages`. The existing `LNK6004` incremental-link exception is preserved. Testing - Added a run-make regression test for localized `link.exe` progress output. - Verified the existing MSVC linker-info tests continue to pass.
…ker-output, r=ChrisDenton codegen: classify localized MSVC linker progress as linker_info Fixes rust-lang#159133. `report_linker_output` currently recognizes only a small set of English `link.exe` progress messages as informational. When the linker output is localized, equivalent progress messages are instead emitted through the `linker_messages` lint. Instead of matching specific English strings, classify MSVC linker output based on locale-independent `LNK####` diagnostic codes.Lines without an `LNK####` code are routed to `linker_info`, while diagnostics continue to be emitted through `linker_messages`. The existing `LNK6004` incremental-link exception is preserved. Testing - Added a run-make regression test for localized `link.exe` progress output. - Verified the existing MSVC linker-info tests continue to pass.
…uwer Rollup of 28 pull requests Successful merges: - #159784 (Hint that memchr returns an in-bounds index) - #160673 (Improve `canonical_param_env_cache`) - #150885 (Revive L4Re target) - #159643 (Add support for splatted function pointers) - #160433 (delegation: add support for wrapping of the return value with `From::from`) - #160530 (refactor handling of target features in Session) - #160606 (bootstrap: Store and use an explicit CheckKind in `check::Rustc`) - #160628 (fix ICE in `suggest_add_reference_to_arg` for non-callable items) - #160683 (Add regression test for unknown feaeture name reported with other errors) - #157641 (Do not promote extern statics) - #158904 (Fix FutureDropPoll shim for by-move async closures) - #159816 (added note/help about iterator invalidation when mutating a collection inside a for loop) - #160103 (Add regression test for GAT bound mismatched type error) - #160335 (dlopen offload) - #160445 (codegen: classify localized MSVC linker progress as linker_info) - #160499 (rustc_resolve: move diagnostic attribute linting to attr parsing) - #160504 (cleanup borrowck, improve c-variadic handling) - #160577 (expand: Feature gate AST-based attribute macros on expressions and statements) - #160587 (Add regression test for associated type outlives bound at call site) - #160625 (platform-support/netbsd.md: No longer mention 8.x, due to EoL.) - #160633 (delegation: fix determining wrong `FnKind` when delegation is inside const arg) - #160636 (derive(Diagnostic): link to proper docs) - #160644 (Clean up some manual debug impls) - #160649 (move naked function ui tests) - #160672 (Improve `MaybeLiveLocals`) - #160693 (Add branch config for perf. unrolling in bors) - #160696 (rustc_codegen_llvm: handle sm_101* features being an alias) - #160706 (renovate: clarify that vulnerability PRs are opened automatically)
Fixes #159133.
report_linker_outputcurrently recognizes only a small set of Englishlink.exeprogress messages as informational. When the linker output is localized, equivalent progress messages are instead emitted through thelinker_messageslint.Instead of matching specific English strings, classify MSVC linker output based on locale-independent
LNK####diagnostic codes.Lines without anLNK####code are routed tolinker_info, while diagnostics continue to be emitted throughlinker_messages. The existingLNK6004incremental-link exception is preserved.Testing
link.exeprogress output.