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 LLVM_ENABLE_ABI_BREAKING_CHECKS > 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. Can I do anything more about it? Contributions related to LLVM_ENABLE_ABI_BREAKING_CHECKS needed? - Paweł -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20150721/fdc8672d/attachment.html>
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 LLVM_ENABLE_ABI_BREAKING_CHECKS 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.> Can I do anything more about it? Contributions related to > LLVM_ENABLE_ABI_BREAKING_CHECKS needed? > > - Paweł > > _______________________________________________ > LLVM Developers mailing list > LLVMdev at cs.uiuc.edu http://llvm.cs.uiuc.edu > http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev
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 LLVM_ENABLE_ABI_BREAKING_CHECKS 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 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.> > > Can I do anything more about it? Contributions related to > > LLVM_ENABLE_ABI_BREAKING_CHECKS needed? > > > > - Paweł > > > > _______________________________________________ > > LLVM Developers mailing list > > LLVMdev at cs.uiuc.edu http://llvm.cs.uiuc.edu > > http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev >-------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20150721/41d12315/attachment.html>