[PATCH] D101479: [Driver] Support libc++ in MSVC

Martin Storsjö via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Fri Jun 11 11:22:00 PDT 2021


mstorsjo added a comment.

In D101479#2813797 <https://reviews.llvm.org/D101479#2813797>, @phosek wrote:

> In D101479#2813724 <https://reviews.llvm.org/D101479#2813724>, @mstorsjo wrote:
>
>> Couldn’t this commit have been kept in, and just reverting the one for using it in the fuchsia cmake cache? (I’m not using this particular commit myself, just observing.)
>
> The problem is that there's no way to configure the default libc++ on a per-target basis. We want to use libc++ as a default for all targets that support it, so for example even if you're compiling on Windows but targeting Fuchsia or Linux. Unfortunately, with this change that triggers D103947 <https://reviews.llvm.org/D103947> when compiling compiler-rt and I don't know how to work around it.
>
> I'd point out that we have the same problem for other defaults, for example if you set lld as the default linker on Darwin, it causes issues because Clang tries to use `lld.ld64` which is not yet usable. We still want to use lld for all other targets, but there's no way to specify that in CMake today which is something we may want to address.

Ah, I see, thanks for explaining - the link between those wasn’t obvious to me.

Yes, that’s indeed a problem with the mechanism of overriding the default choices. (FWIW, in llvm-mingw I work around this issue by having small wrapper scripts, like <triple>-clang, that set the cross target and the defaults I when invoking clang - but that’s not very elegant either.)

Clang does have the concept of a config file, named the same a the target triple plus “.cfg”, iirc, located next to the compiler binary, that might work for setting different defaults per cross target. I haven’t really used that much though.


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D101479/new/

https://reviews.llvm.org/D101479



More information about the cfe-commits mailing list