Uh oh!
There was an error while loading. Please reload this page.
Don't pass -stdlib=libc++ when building C files on macOS - #116017
Conversation
rustbot
commented
Sep 21, 2023
(rustbot has picked a reviewer for you, use r? to override) |
Zalathar
commented
Sep 21, 2023
It's possible that this flag is no longer needed at all (since some sources claim that |
Zalathar
commented
Sep 21, 2023
The warning started appearing after I accepted a system update of Command Line Tools for Xcode from version 14.3 to 15.0. Presumably the older compiler was accepting the argument and silently doing nothing with it, whereas the newer compiler now correctly identifies that the flag has no effect on C code. But since I no longer have the older compiler on my system, I can't test that hypothesis directly. |
albertlarsan68
commented
Sep 24, 2023
@rustbot ping macos |
rustbot
commented
Sep 24, 2023
Hey MacOS Group! This issue or PR could use some MacOS-specific guidance. Could one |
thomcc
commented
Sep 24, 2023
What's a configuration where I can reproduce the issue? |
Zalathar
commented
Sep 25, 2023
This is my profile = "codegen"changelog-seen = 2
[build]
profiler = truelow-priority = true
[rust]
llvm-tools = truedeny-warnings = falseI'm on macOS Ventura 13.5.2, using Apple's Command Line Tools for Xcode version 15.0: If I just do When I started investigating the warnings, I switched to |
This is what I see before applying this PR: Each warning corresponds to one of the (The number of warnings doesn't quite match the number of files because one of the listed files is a |
Zalathar
commented
Sep 25, 2023
After applying this PR: |
inflation
commented
Sep 25, 2023
Is there any difference if you have gcc and libstdc++ in search path? |
Zalathar
commented
Sep 25, 2023
I don't have GCC installed on my system, so I don't know what the difference would be. |
Zalathar
commented
Sep 25, 2023
This is what happens when I ask clang to compile simple C and C++ files, with and without the flag: |
bors
commented
Oct 17, 2023
☔ The latest upstream changes (presumably #116196) made this pull request unmergeable. Please resolve the merge conflicts. |
When using *Command Line Tools for Xcode* version 15.0, clang will warn about `argument unused during compilation: '-stdlib=libc++'` if this flag is present when compiling C files only (i.e. no C++ files). To avoid this warning, we can add the flag only to CXXFLAGS and not to CFLAGS.
albertlarsan68
commented
Nov 5, 2023
Thanks for the PR! |
bors
commented
Nov 5, 2023
…iaskrgr Rollup of 4 pull requests Successful merges: - rust-lang#116017 (Don't pass `-stdlib=libc++` when building C files on macOS) - rust-lang#117524 (bootstrap/setup: create hooks directory if non-existing) - rust-lang#117588 (Remove unused LoadResult::DecodeIncrCache variant) - rust-lang#117596 (Add diagnostic items for a few of core's builtin macros) r? `@ghost` `@rustbot` modify labels: rollup
Rollup merge of rust-lang#116017 - Zalathar:darwin-stdlib, r=albertlarsan68 Don't pass `-stdlib=libc++` when building C files on macOS When using *Command Line Tools for Xcode* version 15.0, clang will warn about `argument unused during compilation: '-stdlib=libc++'` if this flag is present when compiling C files only (i.e. no C++ files). To avoid this warning, we can add the flag only to CXXFLAGS and not to CFLAGS. --- [Zulip thread](https://rust-lang.zulipchat.com/#narrow/stream/326414-t-infra.2Fbootstrap/topic/clang.20warning.3A.20argument.20unused.20during.20compilation.20.28libc.2B.2B.29)
bors
commented
Nov 5, 2023
84: Automated pull from upstream `master` r=Dajamante a=github-actions[bot] This PR pulls the following changes from the upstream repository: * rust-lang/rust#117585 * rust-lang/rust#117576 * rust-lang/rust#96979 * rust-lang/rust#117191 * rust-lang/rust#117179 * rust-lang/rust#117574 * rust-lang/rust#117537 * rust-lang/rust#117608 * rust-lang/rust#117596 * rust-lang/rust#117588 * rust-lang/rust#117524 * rust-lang/rust#116017 * rust-lang/rust#117504 * rust-lang/rust#117469 * rust-lang/rust#116218 * rust-lang/rust#117589 * rust-lang/rust#117581 * rust-lang/rust#117503 * rust-lang/rust#117590 * rust-lang/rust#117583 * rust-lang/rust#117570 * rust-lang/rust#117562 * rust-lang/rust#117534 * rust-lang/rust#116894 * rust-lang/rust#110340 * rust-lang/rust#113343 * rust-lang/rust#117579 * rust-lang/rust#117094 * rust-lang/rust#117566 * rust-lang/rust#117564 * rust-lang/rust#117554 * rust-lang/rust#117550 * rust-lang/rust#117343 * rust-lang/rust#115274 * rust-lang/rust#117540 * rust-lang/rust#116412 * rust-lang/rust#115333 * rust-lang/rust#117507 * rust-lang/rust#117538 * rust-lang/rust#117533 * rust-lang/rust#117523 * rust-lang/rust#117520 * rust-lang/rust#117505 * rust-lang/rust#117434 * rust-lang/rust#117535 * rust-lang/rust#117510 * rust-lang/rust#116439 * rust-lang/rust#117508 Co-authored-by: Ben Wiederhake <BenWiederhake.GitHub@gmx.de> Co-authored-by: SabrinaJewson <sejewson@gmail.com> Co-authored-by: J-ZhengLi <lizheng135@huawei.com> Co-authored-by: koka <koka.code@gmail.com> Co-authored-by: bjorn3 <17426603+bjorn3@users.noreply.github.com> Co-authored-by: Joshua Liebow-Feeser <joshlf@users.noreply.github.com> Co-authored-by: lengyijun <sjtu5140809011@gmail.com> Co-authored-by: Zalathar <Zalathar@users.noreply.github.com> Co-authored-by: Oli Scherer <git-spam-no-reply9815368754983@oli-obk.de> Co-authored-by: Philipp Krones <hello@philkrones.com> Co-authored-by: y21 <30553356+y21@users.noreply.github.com> Co-authored-by: bors <bors@rust-lang.org> Co-authored-by: bohan <bohan-zhang@foxmail.com>
When using Command Line Tools for Xcode version 15.0, clang will warn about
argument unused during compilation: '-stdlib=libc++'if this flag is present when compiling C files only (i.e. no C++ files).To avoid this warning, we can add the flag only to CXXFLAGS and not to CFLAGS.
Zulip thread