@@ -166,19 +166,19 @@ typedef struct {
166166
167167/* Macros for type checking when building the Python core. */
168168#define PyDate_Check (op ) PyObject_TypeCheck(op, &PyDateTime_DateType)
169- #define PyDate_CheckExact (op ) ((op)->ob_type == &PyDateTime_DateType)
169+ #define PyDate_CheckExact (op ) (Py_Type (op) == &PyDateTime_DateType)
170170
171171#define PyDateTime_Check (op ) PyObject_TypeCheck(op, &PyDateTime_DateTimeType)
172- #define PyDateTime_CheckExact (op ) ((op)->ob_type == &PyDateTime_DateTimeType)
172+ #define PyDateTime_CheckExact (op ) (Py_Type (op) == &PyDateTime_DateTimeType)
173173
174174#define PyTime_Check (op ) PyObject_TypeCheck(op, &PyDateTime_TimeType)
175- #define PyTime_CheckExact (op ) ((op)->ob_type == &PyDateTime_TimeType)
175+ #define PyTime_CheckExact (op ) (Py_Type (op) == &PyDateTime_TimeType)
176176
177177#define PyDelta_Check (op ) PyObject_TypeCheck(op, &PyDateTime_DeltaType)
178- #define PyDelta_CheckExact (op ) ((op)->ob_type == &PyDateTime_DeltaType)
178+ #define PyDelta_CheckExact (op ) (Py_Type (op) == &PyDateTime_DeltaType)
179179
180180#define PyTZInfo_Check (op ) PyObject_TypeCheck(op, &PyDateTime_TZInfoType)
181- #define PyTZInfo_CheckExact (op ) ((op)->ob_type == &PyDateTime_TZInfoType)
181+ #define PyTZInfo_CheckExact (op ) (Py_Type (op) == &PyDateTime_TZInfoType)
182182
183183#else
184184
@@ -198,19 +198,19 @@ static PyDateTime_CAPI *PyDateTimeAPI;
198198
199199/* Macros for type checking when not building the Python core. */
200200#define PyDate_Check (op ) PyObject_TypeCheck(op, PyDateTimeAPI->DateType)
201- #define PyDate_CheckExact (op ) ((op)->ob_type == PyDateTimeAPI->DateType)
201+ #define PyDate_CheckExact (op ) (Py_Type (op) == PyDateTimeAPI->DateType)
202202
203203#define PyDateTime_Check (op ) PyObject_TypeCheck(op, PyDateTimeAPI->DateTimeType)
204- #define PyDateTime_CheckExact (op ) ((op)->ob_type == PyDateTimeAPI->DateTimeType)
204+ #define PyDateTime_CheckExact (op ) (Py_Type (op) == PyDateTimeAPI->DateTimeType)
205205
206206#define PyTime_Check (op ) PyObject_TypeCheck(op, PyDateTimeAPI->TimeType)
207- #define PyTime_CheckExact (op ) ((op)->ob_type == PyDateTimeAPI->TimeType)
207+ #define PyTime_CheckExact (op ) (Py_Type (op) == PyDateTimeAPI->TimeType)
208208
209209#define PyDelta_Check (op ) PyObject_TypeCheck(op, PyDateTimeAPI->DeltaType)
210- #define PyDelta_CheckExact (op ) ((op)->ob_type == PyDateTimeAPI->DeltaType)
210+ #define PyDelta_CheckExact (op ) (Py_Type (op) == PyDateTimeAPI->DeltaType)
211211
212212#define PyTZInfo_Check (op ) PyObject_TypeCheck(op, PyDateTimeAPI->TZInfoType)
213- #define PyTZInfo_CheckExact (op ) ((op)->ob_type == PyDateTimeAPI->TZInfoType)
213+ #define PyTZInfo_CheckExact (op ) (Py_Type (op) == PyDateTimeAPI->TZInfoType)
214214
215215/* Macros for accessing constructors in a simplified fashion. */
216216#define PyDate_FromDate (year , month , day ) \
0 commit comments