zlei added a comment.

In https://reviews.llvm.org/D22663#494460, @Hahnfeld wrote:

> With the changes applied and configured with 
> `CLANG_DEFAULT_RTLIB=compiler-rt` some tests fail so you may have to adapt 
> the idea of `-rtlib=platform` for the tests.


Got it. And I also need to fix those failing tests by adding `-rtlib=platform` 
to them, right?


================
Comment at: CMakeLists.txt:210
@@ +209,3 @@
+  message(WARNING "Resetting default rtlib to use platform default")
+  set(CLANG_DEFAULT_RTLIB "")
+endif()
----------------
beanz wrote:
> You'll want this to be:
> 
> 
> ```
> set(CLANG_DEFAULT_RTLIB "" CACHE STRING "Default runtime library to use 
> (libgcc or compiler-rt)" FORCE)
> ```
> 
> Cached variables can only be overwritten by a `FORCE`.
Sorry, I'm not very familiar with cmake. But why isn't 
`CLANG_DEFAULT_CXX_STDLIB` declared with `FORCE`? Should I fix it as well?

================
Comment at: lib/Driver/ToolChain.cpp:530
@@ -538,1 +529,3 @@
+  const Arg* A = Args.getLastArg(options::OPT_rtlib_EQ);
+  StringRef LibName = A ? A->getValue() : CLANG_DEFAULT_RTLIB;
 
----------------
Hahnfeld wrote:
> What I dislike here is that it falls back to the platform default if the 
> specified argument value is invalid regardless of what was configured. This 
> may be surprising for the user as he gets a different behaviour when 
> specifiying `-rtlib=bla` than completely omitting.
> 
> I just added a comment explaining how this works in `GetCXXStdlibType`. Maybe 
> you can adapt its idea?
If you give an invalid value to `-rtlib`, clang should just abort and give you 
an error message, instead of falling back to the platform default. I see that's 
also how `-stdlib` behaves.

Or maybe I misunderstood your point?


https://reviews.llvm.org/D22663



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

Reply via email to