<div dir="ltr"><div class="gmail_extra"><br><div class="gmail_quote">On Wed, Oct 2, 2013 at 8:52 PM, David Blaikie <span dir="ltr"><<a href="mailto:dblaikie@gmail.com" target="_blank">dblaikie@gmail.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><div class="im"><p dir="ltr"><br>
On Oct 2, 2013 12:49 AM, "Alexey Samsonov" <<a href="mailto:samsonov@google.com" target="_blank">samsonov@google.com</a>> wrote:<br>
><br>
> Author: samsonov<br>
> Date: Wed Oct  2 02:44:19 2013<br>
> New Revision: 191814<br>
><br>
> URL: <a href="http://llvm.org/viewvc/llvm-project?rev=191814&view=rev" target="_blank">http://llvm.org/viewvc/llvm-project?rev=191814&view=rev</a><br>
> Log:<br>
> Explicitly specify -Wno-error if LIBCXX_ENABLE_WERROR is false.<br>
><br>
> libcxx doesn't build with -Werror because of #warnings in its source<br>
> code.</p>
</div><p dir="ltr">This seems a little problematic. Is there no way to get a clean libcxx build? If not, should we enable certain warnings as errors (I'm looking at you, -Wreturn-type)? Or, perhaps better, use -Werror and downgrade specific warnings back to warnings (or disable them entirely)</p>
</blockquote><div>+Howard</div><div><br></div><div>The only warnings I see (when I use ToT Clang) are "#warning exception_ptr not yet implemented" and "#warning uncaught_exception not yet implemented", which fail because of -W#warnings and -Wpedantic.</div>
<div>I wasn't able to quickly disable #warnings, as Clang doesn't support -Wno-cpp, and -Wno-#warnings breaks CMake because of # symbol :)</div><div>Are there any plans for actually implementing these missing parts of exception.cpp on Linux?</div>
<div> <br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><div class=""><div class="h5">

<p dir="ltr">> But when libcxx is built as an external LLVM project, it inherits<br>
> LLVM build flags, breaking the build if LLVM_ENABLE_WERROR is enabled.<br>
><br>
> Modified:<br>
>     libcxx/trunk/CMakeLists.txt<br>
>     libcxx/trunk/cmake/config-ix.cmake<br>
><br>
> Modified: libcxx/trunk/CMakeLists.txt<br>
> URL: <a href="http://llvm.org/viewvc/llvm-project/libcxx/trunk/CMakeLists.txt?rev=191814&r1=191813&r2=191814&view=diff" target="_blank">http://llvm.org/viewvc/llvm-project/libcxx/trunk/CMakeLists.txt?rev=191814&r1=191813&r2=191814&view=diff</a><br>


> ==============================================================================<br>
> --- libcxx/trunk/CMakeLists.txt (original)<br>
> +++ libcxx/trunk/CMakeLists.txt Wed Oct  2 02:44:19 2013<br>
> @@ -189,6 +189,9 @@ append_if(LIBCXX_CXX_WARNING_FLAGS LIBCX<br>
>  if (LIBCXX_ENABLE_WERROR)<br>
>    append_if(LIBCXX_CXX_WARNING_FLAGS LIBCXX_HAS_WERROR_FLAG -Werror)<br>
>    append_if(LIBCXX_CXX_WARNING_FLAGS LIBCXX_HAS_WX_FLAG -WX)<br>
> +else()<br>
> +  append_if(LIBCXX_CXX_WARNING_FLAGS LIBCXX_HAS_WNO_ERROR_FLAG -Wno-error)<br>
> +  append_if(LIBCXX_CXX_WARNING_FLAGS LIBCXX_HAS_NO_WX_FLAG -WX-)<br>
>  endif()<br>
>  if (LIBCXX_ENABLE_PEDANTIC)<br>
>    append_if(LIBCXX_CXX_WARNING_FLAGS LIBCXX_HAS_PEDANTIC_FLAG -pedantic)<br>
><br>
> Modified: libcxx/trunk/cmake/config-ix.cmake<br>
> URL: <a href="http://llvm.org/viewvc/llvm-project/libcxx/trunk/cmake/config-ix.cmake?rev=191814&r1=191813&r2=191814&view=diff" target="_blank">http://llvm.org/viewvc/llvm-project/libcxx/trunk/cmake/config-ix.cmake?rev=191814&r1=191813&r2=191814&view=diff</a><br>


> ==============================================================================<br>
> --- libcxx/trunk/cmake/config-ix.cmake (original)<br>
> +++ libcxx/trunk/cmake/config-ix.cmake Wed Oct  2 02:44:19 2013<br>
> @@ -13,9 +13,11 @@ check_cxx_compiler_flag(-Wwrite-strings<br>
>  check_cxx_compiler_flag(-Wno-long-long        LIBCXX_HAS_WNO_LONG_LONG_FLAG)<br>
>  check_cxx_compiler_flag(-pedantic             LIBCXX_HAS_PEDANTIC_FLAG)<br>
>  check_cxx_compiler_flag(-Werror               LIBCXX_HAS_WERROR_FLAG)<br>
> +check_cxx_compiler_flag(-Wno-error            LIBCXX_HAS_WNO_ERROR_FLAG)<br>
>  check_cxx_compiler_flag(-fno-exceptions       LIBCXX_HAS_FNO_EXCEPTIONS_FLAG)<br>
>  check_cxx_compiler_flag(-fno-rtti             LIBCXX_HAS_FNO_RTTI_FLAG)<br>
>  check_cxx_compiler_flag(/WX                   LIBCXX_HAS_WX_FLAG)<br>
> +check_cxx_compiler_flag(/WX-                  LIBCXX_HAS_NO_WX_FLAG)<br>
>  check_cxx_compiler_flag(/EHsc                 LIBCXX_HAS_EHSC_FLAG)<br>
>  check_cxx_compiler_flag(/EHs-                 LIBCXX_HAS_NO_EHS_FLAG)<br>
>  check_cxx_compiler_flag(/EHa-                 LIBCXX_HAS_NO_EHA_FLAG)<br>
><br>
><br>
> _______________________________________________<br>
> cfe-commits mailing list<br>
> <a href="mailto:cfe-commits@cs.uiuc.edu" target="_blank">cfe-commits@cs.uiuc.edu</a><br>
> <a href="http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits" target="_blank">http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits</a><br>
</p>
</div></div></blockquote></div><br><br clear="all"><div><br></div>-- <br><div>Alexey Samsonov, MSK</div>
</div></div>