X-Git-Url: http://bilbo.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/83f0364920918d0380a5d538216193bfe00ddc47..505d827ccafbb31eb15cfbd72bdc6079e50525e2:/include/xbt/asserts.h diff --git a/include/xbt/asserts.h b/include/xbt/asserts.h index 53660d3ebd..455e30883a 100644 --- a/include/xbt/asserts.h +++ b/include/xbt/asserts.h @@ -1,6 +1,6 @@ /* xbt/asserts.h -- assertion mechanism */ -/* Copyright (c) 2005-2021. The SimGrid Team. All rights reserved. */ +/* Copyright (c) 2005-2023. The SimGrid Team. All rights reserved. */ /* This program is free software; you can redistribute it and/or modify it * under the terms of the license (GNU LGPL) which comes with this package. */ @@ -44,12 +44,11 @@ XBT_ATTRIB_NORETURN XBT_PUBLIC void xbt_abort(void); * * You can pass them a format message and arguments, just as if it where a printf. * It is converted to a XBT_CRITICAL logging request. - * Be careful: the boolean expression that you want to test should not have side effects, because assertions are - * disabled at compile time if NDEBUG is set. + * An execution backtrace is also displayed, unless the option --log=no_loc is given at run-time. + * + * Unlike the standard assert, xbt_assert is never disabled, even if the macro NDEBUG is defined at compile time. So + * it's safe to have a condition with side effects. */ -#ifdef NDEBUG -#define xbt_assert(...) ((void)0) -#else /** @brief The condition which failed will be displayed. @hideinitializer */ #define xbt_assert(...) \ @@ -64,7 +63,6 @@ XBT_ATTRIB_NORETURN XBT_PUBLIC void xbt_abort(void); abort(); \ } \ } while (0) -#endif /** @} */ SG_END_DECL