[LLVMdev] Problem with InsertPointGuard ABI?

Paweł Bylica chfast at gmail.com
Tue Jul 21 10:06:57 PDT 2015


On Tue, Jul 21, 2015 at 6:58 PM Justin Bogner <mail at justinbogner.com> wrote:

> Paweł Bylica <chfast at gmail.com> writes:
> > On Tue, Jul 21, 2015 at 6:30 PM Justin Bogner <mail at justinbogner.com>
> wrote:
> >> Paweł Bylica <chfast at gmail.com> writes:
> >>> On Tue, Jul 21, 2015 at 5:55 PM Justin Bogner <mail at justinbogner.com>
> wrote:
> >>>> FWIW, `llvm-config --assertion-mode` will tell you whether or not your
> >>>> LLVM was built with or without NDEBUG.
> >>>
> >>> That's not true in all cases. In case CMAKE_BUILD_TYPE=Release,
> >>> LLVM_ENABLE_ASSERTIONS=Off and CMAKE_CXX_FLAGS_RELEASE=""
> >>> llvm-config reports asserts as off but NDEBUG flag is not set.
> >>
> >> Um, okay, but why would you set CMAKE_CXX_FLAGS_RELEASE=""? That
> >> doesn't make any sense...
> >
> > I agree, it make no sense. But homebrew actually does that:
> >
> https://github.com/Homebrew/homebrew/blob/master/Library/Homebrew/formula.rb#L615
>
> That sounds very broken - maybe ask them to fix it?
>

I've fixed that for the LLVM formula.
https://github.com/Homebrew/homebrew/blob/master/Library/Formula/llvm.rb#L140


>
> In any case, `llvm-config` seems to correctly report asserts as ON in
> this case, despite the configuration being completely bogus:
>

In the same time the shared cmake file LLVMConfig.cmake will have
LLVM_ENABLE_ASSERTIONS set to On.


>
>   % cmake -G Ninja ../llvm -DCMAKE_BUILD_TYPE=Release
> -DLLVM_ENABLE_ASSERTIONS=Off -DCMAKE_CXX_FLAGS_RELEASE=""
>   ...
>   % ninja llvm-config
>   [94/94] Linking CXX executable bin/llvm-config
>    % ./bin/llvm-config --assertion-mode
>   ON
>
> The code that prints this just checks NDEBUG:
>
> llvm-config.cpp:320:
> >       } else if (Arg == "--assertion-mode") {
> > #if defined(NDEBUG)
> >         OS << "OFF\n";
> > #else
> >         OS << "ON\n";
> > #endif
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20150721/63fcb33d/attachment.html>


More information about the llvm-dev mailing list