[libcxx] r243574 - Recommit r243503 "[libcxx] Cleanup CMake configuration and integrate with LLVM"

Alexey Samsonov vonosmas at gmail.com
Thu Jul 30 18:12:45 PDT 2015


Can you build LLVM with just-built Clang and -DLLVM_ENABLE_WERROR=ON?
I'm not sure why the behavior has changed, though. I also can't reproduce
the first error on the buildbot locally for now.

On Thu, Jul 30, 2015 at 6:07 PM, Eric Fiselier <eric at efcs.ca> wrote:

> These warnings were occuring before my patch though. I'm not sure why
> they are causing issues now.
>
> On Thu, Jul 30, 2015 at 9:00 PM, Alexey Samsonov <vonosmas at gmail.com>
> wrote:
> > Some of this is caused by -Werror: when we boostrap LLVM with just-built
> > Clang, we pass LLVM_ENABLE_WERROR, and looks like it fires a warning for
> > libc++:
> >
> >
> /mnt/b/sanitizer-buildbot1/sanitizer-x86_64-linux/build/llvm/projects/libcxx/include/locale:1879:29:
> > error: 'std::__1::__time_get_c_storage<char>' has virtual functions but
> > non-virtual destructor [-Werror,-Wnon-virtual-dtor]
> > class _LIBCPP_TYPE_VIS_ONLY __time_get_c_storage
> >
> >
> > On Thu, Jul 30, 2015 at 5:35 PM, Eric Fiselier <eric at efcs.ca> wrote:
> >>
> >> Looks like the updated commit broke the sanitizer build again. I'm
> >> looking into it but I'm having trouble reproducing.
> >> If anybody has access to the logs I would like to see them.
> >>
> >> On Thu, Jul 30, 2015 at 6:33 PM, Eric Fiselier <eric at efcs.ca> wrote:
> >> > FYI I recommitted the working parts of this patch as r243698. I
> >> > removed the "HandleLLVMOptions.cmake" include which was causing all of
> >> > the problems. Please let me know if anything comes up.
> >> >
> >> > /Eric
> >> >
> >> >
> >> > On Thu, Jul 30, 2015 at 4:26 PM, Eric Fiselier <eric at efcs.ca> wrote:
> >> >>> What would/does `-DLLVM_USE_SANITIZER=Thread` do differently than
> >> >>> `-DCMAKE_CXX_FLAGS=-
> >> >>> fsanitize=thread` here?
> >> >>
> >> >> Using LLVM_USE_SANITIZER will prevent LLVM from adding certain link
> >> >> flags such as '-Wl,-z,defs', '-ffunction-sections' and
> >> >> '-fdata-sections' and it will force LLVM to provide some level of
> >> >> debug information in RELEASE mode.
> >> >>
> >> >> For sanitizers other than Thread, LLVM_USE_SANITIZER will add extra
> >> >> flags such as '-fsanitize-no-recover'.
> >> >>
> >> >> Also, for libc++, using LLVM_USE_SANITIZER sets the testsuite up to
> >> >> run with the sanitizers as well.
> >> >>
> >> >> On Thu, Jul 30, 2015 at 4:09 PM, Jonathan Roelofs
> >> >> <jonathan at codesourcery.com> wrote:
> >> >>>
> >> >>>
> >> >>> On 7/30/15 12:47 PM, Alexey Samsonov wrote:
> >> >>>>
> >> >>>> I actually support the idea of including LLVM CMake modules from
> >> >>>> libc++ CMake: the logic for building instrumented LLVM and building
> >> >>>> instrumented libc++ should better be listed in a single place, and
> be
> >> >>>> controlled by LLVM_USE_SANITIZER options: i.e. when we configure
> >> >>>> libc++ from compiler-rt, we should pass -DLLVM_USE_SANITIZER=Thread
> >> >>>> rather than -DCMAKE_CXX_FLAGS=-fsanitize=thread. It's not possible
> to
> >> >>>> do this right now, though (for instance we build two different
> >> >>>> versions of MSan-libc++), but I think I'd be able to work on that
> >> >>>> once your patch lands and the dust settles.
> >> >>>>
> >> >>>
> >> >>> What would/does `-DLLVM_USE_SANITIZER=Thread` do differently than
> >> >>> `-DCMAKE_CXX_FLAGS=-fsanitize=thread` here?
> >> >>>
> >> >>>
> >> >>> Jon
> >> >>>
> >> >>>
> >> >>> --
> >> >>> Jon Roelofs
> >> >>> jonathan at codesourcery.com
> >> >>> CodeSourcery / Mentor Embedded
> >
> >
> >
> >
> > --
> > Alexey Samsonov
> > vonosmas at gmail.com
>



-- 
Alexey Samsonov
vonosmas at gmail.com
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20150730/4e6b7b1d/attachment.html>


More information about the cfe-commits mailing list