Hahnfeld marked an inline comment as done.
Hahnfeld added a comment.

In http://reviews.llvm.org/D15920#347352, @beanz wrote:

> Is it correct to assume that all the test case changes are needed just to 
> make the tests pass if you set CLANG_DEFAULT_CXX_STDLIB=libc++?
>
> [...]


Yes, most of the tests check for the correct `libstdc++` include paths which 
are not met with `libc++`.


================
Comment at: lib/Driver/ToolChain.cpp:549-550
@@ -536,9 +548,4 @@
+
 ToolChain::CXXStdlibType ToolChain::GetCXXStdlibType(const ArgList &Args) 
const{
-  if (Arg *A = Args.getLastArg(options::OPT_stdlib_EQ)) {
-    StringRef Value = A->getValue();
-    if (Value == "libc++")
-      return ToolChain::CST_Libcxx;
-    if (Value == "libstdc++")
-      return ToolChain::CST_Libstdcxx;
-    getDriver().Diag(diag::err_drv_invalid_stdlib_name)
-      << A->getAsString(Args);
+  ToolChain::CXXStdlibType Type;
+  bool HasValidType = false;
----------------
I have moved the behaviour from `Darwin::TranslateArgs` to 
`Darwin::GetDefaultCXXStdlibType` and added this method for `Bitrig` as well 
(which was straightforward). `MIPS` only allows `libc++` so there is nothing 
the user can choose from...

I would have also liked to implement this for `FreeBSD` and `NetBSD` but their 
default library is dependent on the system version. While this wouldn't be a 
problem and could be implemented in `GetDefaultCXXStdlibType`, this would still 
be overriden by `CLANG_DEFAULT_CXX_STDLIB` which unfortunately fails the tests 
in `test/Driver/{freebsd.c,netbsd.c}`. Is it ok to leave this for now?


http://reviews.llvm.org/D15920



_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to