[LLVMdev] Problem with InsertPointGuard ABI?
Justin Bogner
mail at justinbogner.com
Tue Jul 21 09:58:33 PDT 2015
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?
In any case, `llvm-config` seems to correctly report asserts as ON in
this case, despite the configuration being completely bogus:
% 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
More information about the llvm-dev
mailing list