New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Fix and simplify handling of options for MSVC #954
Conversation
297c352
to
a312c0f
Compare
85ee077
to
be8e770
Compare
I'd appreciate it if you could submit "handle newlines on Windows properly" and "handle properly also stdout in addition to stderr" as separate PRs since they are independent. |
They are not, they both modify the block in ccache.cpp around line 950. |
I did not mean that the commits as currently written are independent, I meant that the fix and the feature are logically independent of "MSVC fixes". The first can be introduced separately to fix |
The commit 60a6d2d breaks the correct behavior of ccache. |
Done in #962.
Fixed there. |
Since MSVC understands both /option and -option, change all of them to -option, which means now old code handling e.g. -U gets reused, and this also simplifies handling of both variants (/Fo was handled, but -Fo wasn't). The list had two options -P and -u that mean something else for MSVC than it does for GCC, so handle those explicitly.
e03c163
to
153bae1
Compare
I've separated these commits into more PRs, so this one is now only one commit. It makes the code properly handle both -option and /option way of writing MSVC options, which also fixes several places where they weren't both listed properly. It is done by converting all /option arguments to -option (rather than listing both cases everywhere and risking mistakes), and if the handling gets to passing the argument as a file it gets changed back. |
These are various fixes (on top) of #506 .