bpo-35059: Enhance _PyObject_AssertFailed() (GH-10642)

Enhance _PyObject_AssertFailed()

* Exchange 'expr' and 'msg' parameters
* 'expr' and 'func' arguments can now be NULL
This commit is contained in:
Victor Stinner 2018-11-21 23:53:44 +01:00 committed by GitHub
parent bcda8f1d42
commit f1d002c1e0
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
3 changed files with 20 additions and 14 deletions

View file

@ -1158,8 +1158,8 @@ _PyObject_DebugTypeStats(FILE *out);
((expr) \
? (void)(0) \
: _PyObject_AssertFailed((obj), \
(msg), \
Py_STRINGIFY(expr), \
(msg), \
__FILE__, \
__LINE__, \
__func__))
@ -1169,11 +1169,13 @@ _PyObject_DebugTypeStats(FILE *out);
/* Declare and define _PyObject_AssertFailed() even when NDEBUG is defined,
to avoid causing compiler/linker errors when building extensions without
NDEBUG against a Python built with NDEBUG defined. */
NDEBUG against a Python built with NDEBUG defined.
msg, expr and function can be NULL. */
PyAPI_FUNC(void) _PyObject_AssertFailed(
PyObject *obj,
const char *msg,
const char *expr,
const char *msg,
const char *file,
int line,
const char *function);