[LLVMdev] Problem with InsertPointGuard ABI? (original) (raw)

Justin Bogner mail at justinbogner.com
Tue Jul 21 09:30:21 PDT 2015


Paweł Bylica <chfast at gmail.com> writes:

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

Paweł Bylica <chfast at gmail.com> writes: > I can confirm that the issue has been caused by NDEBUG flag.  > > On Mon, Jul 13, 2015 at 6:29 PM Reid Kleckner <rnk at google.com> wrote: > >     The layout of AssertingVH has depended on NDEBUG since 2009, which >     predates any of our efforts to make LLVM's ABI resilient to mismatched >     NDEBUG definitions between LLVM and its users. > >     For now, make sure your definition of NDEBUG matches LLVM's. In the long >     run, we could conceivably do something >     with LLVMENABLEABIBREAKINGCHECKS to allow this mismatch. > > In practice it is very hard to make NDEBUG flag match configs of your project > and LLVM project. You often need to build debug and release versions of your > project and LLVM is installed as a debian package or with homebrew. Moreover, > there is not reliable way of checking if LLVM has been built with or without > NDEBUG. 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 CMAKEBUILDTYPE=Release, LLVMENABLEASSERTIONS=Off and CMAKECXXFLAGSRELEASE="" 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...

> Can I do anything more about it? Contributions related to >  LLVMENABLEABIBREAKINGCHECKS needed? > > - Paweł > _> ________________________ > LLVM Developers mailing list > LLVMdev at cs.uiuc.edu         http://llvm.cs.uiuc.edu > http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev



More information about the llvm-dev mailing list