Per issue21949 and issue1629: Document the Py_SIZE, Py_TYPE, Py_REFCNT macros.
This was already done in the 3.5 branch; this just does the same in the 2.7
branch.
diff --git a/Doc/c-api/structures.rst b/Doc/c-api/structures.rst
index c193510..c6ec685 100644
--- a/Doc/c-api/structures.rst
+++ b/Doc/c-api/structures.rst
@@ -69,6 +69,37 @@
expansion varies depending on the definition of :c:macro:`Py_TRACE_REFS`.
+.. c:macro:: Py_TYPE(o)
+
+ This macro is used to access the :attr:`ob_type` member of a Python object.
+ It expands to::
+
+ (((PyObject*)(o))->ob_type)
+
+ .. versionadded:: 2.6
+
+
+.. c:macro:: Py_REFCNT(o)
+
+ This macro is used to access the :attr:`ob_refcnt` member of a Python
+ object.
+ It expands to::
+
+ (((PyObject*)(o))->ob_refcnt)
+
+ .. versionadded:: 2.6
+
+
+.. c:macro:: Py_SIZE(o)
+
+ This macro is used to access the :attr:`ob_size` member of a Python object.
+ It expands to::
+
+ (((PyVarObject*)(o))->ob_size)
+
+ .. versionadded:: 2.6
+
+
.. c:macro:: PyObject_HEAD_INIT(type)
This is a macro which expands to initialization values for a new