On Wed, 23 Nov 2016, Michael Povolotskyi wrote: > The fact that it is not theoretically possible suggests that I need to check > if I do something very nasty with memory.
No, no; there's nothing memory-related here (I mean, there might be, but that would be a separate problem). This is a pure question of compiler arguments. If every object you built with was compiled with -DNDEBUG, as we do in libMesh opt mode, then those assertions should be defined to be nothing. The compiler, post-preprocessor, should not even know that assertions were once there. Oh, but wait a minute. You're seeing an assertion in a header file, aren't you? So you might be building your app file without the libMesh opt flags, but then linking it to a libMesh opt binary. That should be supported (although it's a problem with other methods: our dbg mode turns on some ABI-incompatible features to help debugging) and that would cause header-file assertions to throw if they were triggered from within your code. > I'll keep searching. Try using the opt flags in your application too? I don't *think* there should be any ABI incompatibilities at issue (unless you're using dbg flags in your application!), but it's worth checking out the possibility. --- Roy ------------------------------------------------------------------------------ _______________________________________________ Libmesh-users mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/libmesh-users
