There's code in clang/lib/Driver/ToolChains/Gnu.cpp for Clang to use Gentoo's include and lib paths, but this is missing for mingw, meaning that any C++ programs using the STL will fail to compile.
Details
Diff Detail
Event Timeline
The change looks ok to me, but I think it'd be good to have a testcase for finding these paths (IIRC there are a bunch of simulated sysroots under clang/test/Driver).
Seconded. There are already some Gentoo trees there, so it shouldn't be hard to add one more.
I can't see that any of the lib paths are tested at all, though I may be missing something.
Well, I dunno how MinGW works, so can't judge that part. Furthermore, I'm thoroughly confused why this works on top of existing (non-Gentoo?) test tree. Could you explain it a bit more?
It looks like the clang driver just blindly adds these directories to the list of include paths, regardless of whether they exist or not. So with the current test, they don't need to exist (but maybe it would be good to create such empty directories to make the test a bit more correct, in case the driver is modified to not add nonexistent directories blindly).
FYI @maharmstone the test needs to be rebased to fit on top of current git, after rG897c86dec5af2780d443edd852aa5911e2650ec6.
Does Gentoo patch upstream to do something different? (.../g++-v10/...) Well, I wish that Gentoo does not do this.
This adds complexity to Clang which in practice tries to provide some drop-in replacement ability.
Clang doesn't work at all on Gentoo at the moment with any of the mingw targets, hence this patch.
As I said in the top comment, these changes are mirroring what's in clang/lib/Driver/ToolChains/Gnu.cpp for the Linux triplets.
LGTM, thanks, and sorry for losing track of it earlier.
Do you need someone to push the patch for you? In that case, can you provide your preferred git author line for the patch?