[libcxx] r191814 - Explicitly specify -Wno-error if LIBCXX_ENABLE_WERROR is false.

Howard Hinnant howard.hinnant at gmail.com
Sun Oct 6 13:03:18 PDT 2013

On Oct 3, 2013, at 7:18 AM, Alexey Samsonov <samsonov at google.com> wrote:

> On Wed, Oct 2, 2013 at 8:52 PM, David Blaikie <dblaikie at gmail.com> wrote:
> On Oct 2, 2013 12:49 AM, "Alexey Samsonov" <samsonov at google.com> wrote:
> >
> > Author: samsonov
> > Date: Wed Oct  2 02:44:19 2013
> > New Revision: 191814
> >
> > URL: http://llvm.org/viewvc/llvm-project?rev=191814&view=rev
> > Log:
> > Explicitly specify -Wno-error if LIBCXX_ENABLE_WERROR is false.
> >
> > libcxx doesn't build with -Werror because of #warnings in its source
> > code.
> 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)
> +Howard
> 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.
> I wasn't able to quickly disable #warnings, as Clang doesn't support -Wno-cpp, and -Wno-#warnings breaks CMake because of # symbol :)
> Are there any plans for actually implementing these missing parts of exception.cpp on Linux?

I think getting these implemented is the most difficult and critical part of a libcxx port to Windows.  The current implementation of these follows the Itanium ABI spec (http://mentorembedded.github.io/cxx-abi/) and is implemented in libcxxabi (http://libcxxabi.llvm.org).

I currently have no personal plans of doing this myself.  I do not know of anyone working on it, and I would love to hear differently.  The work will be intimately tied to clang's behavior on Windows (i.e. this is not generic portable C++).


More information about the cfe-commits mailing list