cpython/Objects
Christian Tismer ea62ce7f4f bpo-33738: Fix macros which contradict PEP 384 (GH-7477)
During development of the limited API support for PySide,
we saw an error in a macro that accessed a type field.

This patch fixes the 7 errors in the Python headers.
Macros which were not written as capitals were implemented
as function.

To do the necessary analysis again, a script was included that
parses all headers and looks for "->tp_" in serctions which can
be reached with active limited API.

It is easily possible to call this script as a test.

Error listing:

../../Include/objimpl.h:243
#define PyObject_IS_GC(o) (PyType_IS_GC(Py_TYPE(o)) && \
    (Py_TYPE(o)->tp_is_gc == NULL || Py_TYPE(o)->tp_is_gc(o)))
Action: commented only

../../Include/objimpl.h:362
#define PyType_SUPPORTS_WEAKREFS(t) ((t)->tp_weaklistoffset > 0)
Action: commented only

../../Include/objimpl.h:364
#define PyObject_GET_WEAKREFS_LISTPTR(o) \
    ((PyObject **) (((char *) (o)) + Py_TYPE(o)->tp_weaklistoffset))
Action: commented only

../../Include/pyerrors.h:143
#define PyExceptionClass_Name(x) \
     ((char *)(((PyTypeObject*)(x))->tp_name))
Action: implemented function

../../Include/abstract.h:593
#define PyIter_Check(obj) \
    ((obj)->ob_type->tp_iternext != NULL && \
     (obj)->ob_type->tp_iternext != &_PyObject_NextNotImplemented)
Action: implemented function

../../Include/abstract.h:713
#define PyIndex_Check(obj)                              \
    ((obj)->ob_type->tp_as_number != NULL &&            \
     (obj)->ob_type->tp_as_number->nb_index != NULL)
Action: implemented function

../../Include/abstract.h:924
#define PySequence_ITEM(o, i)\
    ( Py_TYPE(o)->tp_as_sequence->sq_item(o, i) )
Action: commented only
2018-06-09 14:32:25 -04:00
..
clinic bpo-32677: Add .isascii() to str, bytes and bytearray (GH-5342) 2018-01-27 14:06:21 +09:00
stringlib bpo-33012: Fix invalid function cast warnings with gcc 8 for METH_NOARGS. (GH-6030) 2018-04-29 21:59:33 +03:00
README
abstract.c bpo-33738: Fix macros which contradict PEP 384 (GH-7477) 2018-06-09 14:32:25 -04:00
accu.c Replace KB unit with KiB (#4293) 2017-11-08 14:44:44 -08:00
boolobject.c bpo-30592: Fixed error messages for some builtins. (#1996) 2017-06-08 14:41:19 +03:00
bytearrayobject.c bpo-33012: Fix invalid function cast warnings with gcc 8 for METH_NOARGS. (GH-6030) 2018-04-29 21:59:33 +03:00
bytes_methods.c bpo-32677: Optimize str.isascii() (GH-5356) 2018-01-28 09:59:12 +09:00
bytesobject.c bpo-33012: Fix invalid function cast warnings with gcc 8 for METH_NOARGS. (GH-6030) 2018-04-29 21:59:33 +03:00
call.c bpo-32240: Add the const qualifier to declarations of PyObject* array arguments. (#4746) 2017-12-15 13:11:11 +02:00
capsule.c
cellobject.c bpo-23699: Use a macro to reduce boilerplate code in rich comparison functions (GH-793) 2017-11-02 20:32:54 +10:00
classobject.c bpo-33012: Fix invalid function cast warnings with gcc 8 for METH_NOARGS. (GH-6030) 2018-04-29 21:59:33 +03:00
codeobject.c bpo-33299: Return an object itself for some types in _PyCode_ConstantKey(). (GH-6513) 2018-04-19 08:28:04 +03:00
complexobject.c bpo-33012: Fix invalid function cast warnings with gcc 8 for METH_NOARGS. (GH-6030) 2018-04-29 21:59:33 +03:00
descrobject.c bpo-33012: Fix invalid function cast warnings with gcc 8 for METH_NOARGS. (GH-6030) 2018-04-29 21:59:33 +03:00
dict-common.h bpo-33312: Fix clang ubsan out of bounds warnings in dict. (GH-6537) 2018-04-19 22:41:19 -07:00
dictnotes.txt
dictobject.c bpo-33012: Fix invalid function cast warnings with gcc 8 for METH_NOARGS. (GH-6030) 2018-04-29 21:59:33 +03:00
enumobject.c bpo-33012: Fix invalid function cast warnings with gcc 8 for METH_NOARGS. (GH-6030) 2018-04-29 21:59:33 +03:00
exceptions.c bpo-33738: Fix macros which contradict PEP 384 (GH-7477) 2018-06-09 14:32:25 -04:00
fileobject.c bpo-33012: Fix invalid function cast warnings with gcc 8 for METH_NOARGS. (GH-6030) 2018-04-29 21:59:33 +03:00
floatobject.c Fix typo and edit for clarity in the docstrings of sys.float_info. (GH-2251) 2018-03-26 12:41:30 +03:00
frameobject.c bpo-33012: Fix invalid function cast warnings with gcc 8 for METH_NOARGS. (GH-6030) 2018-04-29 21:59:33 +03:00
funcobject.c bpo-31787: Prevent refleaks when calling __init__() more than once (GH-3995) 2018-02-13 19:28:33 +09:00
genobject.c bpo-33786: Fix asynchronous generators to handle GeneratorExit in athrow() (GH-7467) 2018-06-07 20:31:26 -04:00
iterobject.c bpo-33012: Fix invalid function cast warnings with gcc 8 for METH_NOARGS. (GH-6030) 2018-04-29 21:59:33 +03:00
listobject.c bpo-33012: Fix invalid function cast warnings with gcc 8 for METH_NOARGS. (GH-6030) 2018-04-29 21:59:33 +03:00
listsort.txt bpo-28685: Optimize sorted() list.sort() with type-specialized comparisons (#582) 2018-01-28 19:03:23 -08:00
lnotab_notes.txt bpo-28810: Update lnotab_notes.txt (#665) 2017-03-14 21:42:09 +02:00
longobject.c bpo-33012: Fix invalid function casts for long_long. (GH-6652) 2018-04-30 15:35:08 +03:00
memoryobject.c bpo-33176: Add a toreadonly() method to memoryviews. (GH-6466) 2018-04-14 19:49:21 +02:00
methodobject.c bpo-33012: Fix invalid function cast warnings with gcc 8 for METH_NOARGS. (GH-6030) 2018-04-29 21:59:33 +03:00
moduleobject.c bpo-33330: Write exceptions occurred in PyImport_Cleanup() to stderr. (GH-6606) 2018-04-29 22:16:30 +03:00
namespaceobject.c bpo-33012: Fix invalid function cast warnings with gcc 8 for METH_NOARGS. (GH-6030) 2018-04-29 21:59:33 +03:00
object.c Replace _PyGC_REFS macros with higher level macros (GH-6852) 2018-05-17 11:07:21 +09:00
obmalloc.c remove vestigal locking from obmalloc (GH-5805) 2018-02-24 11:59:10 -08:00
odictobject.c bpo-33012: Fix invalid function cast warnings with gcc 8 for METH_NOARGS. (GH-6030) 2018-04-29 21:59:33 +03:00
rangeobject.c bpo-33012: Fix invalid function cast warnings with gcc 8 for METH_NOARGS. (GH-6030) 2018-04-29 21:59:33 +03:00
setobject.c bpo-33391: Fix refleak in set_symmetric_difference (GH-6670) 2018-05-02 18:29:10 +09:00
sliceobject.c bpo-33012: Fix invalid function cast warnings with gcc 8 for METH_NOARGS. (GH-6030) 2018-04-29 21:59:33 +03:00
structseq.c bpo-33012: Fix invalid function cast warnings with gcc 8 for METH_NOARGS. (GH-6030) 2018-04-29 21:59:33 +03:00
tupleobject.c bpo-33012: Fix invalid function cast warnings with gcc 8 for METH_NOARGS. (GH-6030) 2018-04-29 21:59:33 +03:00
typeobject.c Fix typo in __mul__ and __rmul__ docstring (GH-6674) 2018-05-09 01:00:19 +03:00
typeslots.inc
typeslots.py Issue #26662: Set PYTHON_FOR_GEN in configure 2016-07-26 12:48:08 +02:00
unicodectype.c
unicodeobject.c bpo-33012: Fix invalid function cast warnings with gcc 8 for METH_NOARGS. (GH-6030) 2018-04-29 21:59:33 +03:00
unicodetype_db.h update to Unicode 11.0.0 (closes bpo-33778) (GH-7439) 2018-06-06 20:14:28 -07:00
weakrefobject.c bpo-33012: Fix invalid function cast warnings with gcc 8 for METH_NOARGS. (GH-6030) 2018-04-29 21:59:33 +03:00

README

Source files for various builtin objects