diff options
author | Dmitri Gribenko <gribozavr@gmail.com> | 2015-02-19 05:30:16 +0000 |
---|---|---|
committer | Dmitri Gribenko <gribozavr@gmail.com> | 2015-02-19 05:30:16 +0000 |
commit | 3e1551c96f5ca7217ba850dd77c6f3702004c07a (patch) | |
tree | 660dae52b395507604cd5c310ec002c4079fbc8b /llvm/lib/Target/ARM/Disassembler/ARMDisassembler.cpp | |
parent | ee3c1b2a71a9053e977b6523ff17a817eddaf4ef (diff) | |
download | llvm-3e1551c96f5ca7217ba850dd77c6f3702004c07a.zip llvm-3e1551c96f5ca7217ba850dd77c6f3702004c07a.tar.gz llvm-3e1551c96f5ca7217ba850dd77c6f3702004c07a.tar.bz2 |
Provide the same ABI regardless of NDEBUG
For projects depending on LLVM, I find it very useful to combine a
release-no-asserts build of LLVM with a debug+asserts build of the dependent
project. The motivation is that when developing a dependent project, you are
debugging that project itself, not LLVM. In my usecase, a significant part of
the runtime is spent in LLVM optimization passes, so I would like to build LLVM
without assertions to get the best performance from this combination.
Currently, `lib/Support/Debug.cpp` changes the set of symbols it provides
depending on NDEBUG, while `include/llvm/Support/Debug.h` requires extra
symbols when NDEBUG is not defined. Thus, it is not possible to enable
assertions in an external project that uses facilities of `Debug.h`.
This patch changes `Debug.cpp` and `Valgrind.cpp` to always define the symbols
that other code may depend on when #including LLVM headers without NDEBUG.
http://reviews.llvm.org/D7662
llvm-svn: 229819
Diffstat (limited to 'llvm/lib/Target/ARM/Disassembler/ARMDisassembler.cpp')
0 files changed, 0 insertions, 0 deletions