msvc: #1687: handle case where output file is a directory#1836
Closed
AudranDoublet wants to merge 1 commit intomozilla:mainfrom
Closed
msvc: #1687: handle case where output file is a directory#1836AudranDoublet wants to merge 1 commit intomozilla:mainfrom
AudranDoublet wants to merge 1 commit intomozilla:mainfrom
Conversation
96fce77 to
e627363
Compare
e627363 to
a61a9a3
Compare
sylvestre
reviewed
Nov 4, 2023
| } | ||
| Some(o) => { | ||
| if o.extension().is_none() && compilation { | ||
| if o.as_os_str() |
Collaborator
There was a problem hiding this comment.
sorry for the latency.
compilation is gone from the check, is that expected?
Contributor
Author
There was a problem hiding this comment.
Np. It is intentional, at least. compilation is checked a bit earlier in this function (l760): this check was always true
a61a9a3 to
cec7c09
Compare
cec7c09 to
d511d09
Compare
d511d09 to
44905c6
Compare
Collaborator
|
rustfmt isn't happy and some builds are failing |
Contributor
|
The bug exists in sccache-0.11: |
Contributor
|
Rebased and did minor updates to this pull request in #2482. |
tottoto
added a commit
to tottoto/sccache
that referenced
this pull request
Feb 6, 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.
As described in #1687, MSBuild may provide as output file (
/Fo) a folder, ending with a trailing backslash, for example/FoRelease\.msvc detects this case and chose
{folder}/{input_file_name}.objas output file. For example, for/cfoo.c /FoRelease\, the expected output path (by linker and msbuild) isRelease/foo.obj.Currently, we would use
Release.obj, leading to:The proposed fix simply check if the
std::path::Pathcontains a trailing backslash (see https://users.rust-lang.org/t/trailing-in-paths/43166) and correctly guess the path if so.