@@ -7256,49 +7256,51 @@ _datetime_exec(PyObject *module)
7256
7256
Py_DECREF(value); \
7257
7257
} while(0)
7258
7258
7259
- /* timedelta values */
7260
- PyObject * d = _PyType_GetDict (& PyDateTime_DeltaType );
7261
- DATETIME_ADD_MACRO (d , "resolution" , new_delta (0 , 0 , 1 , 0 ));
7262
- DATETIME_ADD_MACRO (d , "min" , new_delta (- MAX_DELTA_DAYS , 0 , 0 , 0 ));
7263
- DATETIME_ADD_MACRO (d , "max" ,
7264
- new_delta (MAX_DELTA_DAYS , 24 * 3600 - 1 , 1000000 - 1 , 0 ));
7265
-
7266
- /* date values */
7267
- d = _PyType_GetDict (& PyDateTime_DateType );
7268
- DATETIME_ADD_MACRO (d , "min" , new_date (1 , 1 , 1 ));
7269
- DATETIME_ADD_MACRO (d , "max" , new_date (MAXYEAR , 12 , 31 ));
7270
- DATETIME_ADD_MACRO (d , "resolution" , new_delta (1 , 0 , 0 , 0 ));
7271
-
7272
- /* time values */
7273
- d = _PyType_GetDict (& PyDateTime_TimeType );
7274
- DATETIME_ADD_MACRO (d , "min" , new_time (0 , 0 , 0 , 0 , Py_None , 0 ));
7275
- DATETIME_ADD_MACRO (d , "max" , new_time (23 , 59 , 59 , 999999 , Py_None , 0 ));
7276
- DATETIME_ADD_MACRO (d , "resolution" , new_delta (0 , 0 , 1 , 0 ));
7277
-
7278
- /* datetime values */
7279
- d = _PyType_GetDict (& PyDateTime_DateTimeType );
7280
- DATETIME_ADD_MACRO (d , "min" ,
7281
- new_datetime (1 , 1 , 1 , 0 , 0 , 0 , 0 , Py_None , 0 ));
7282
- DATETIME_ADD_MACRO (d , "max" , new_datetime (MAXYEAR , 12 , 31 , 23 , 59 , 59 ,
7283
- 999999 , Py_None , 0 ));
7284
- DATETIME_ADD_MACRO (d , "resolution" , new_delta (0 , 0 , 1 , 0 ));
7285
-
7286
- /* timezone values */
7287
- d = _PyType_GetDict (& PyDateTime_TimeZoneType );
7288
- if (PyDict_SetItemString (d , "utc" , (PyObject * )& utc_timezone ) < 0 ) {
7289
- goto error ;
7290
- }
7259
+ if (!reloading ) {
7260
+ /* timedelta values */
7261
+ PyObject * d = _PyType_GetDict (& PyDateTime_DeltaType );
7262
+ DATETIME_ADD_MACRO (d , "resolution" , new_delta (0 , 0 , 1 , 0 ));
7263
+ DATETIME_ADD_MACRO (d , "min" , new_delta (- MAX_DELTA_DAYS , 0 , 0 , 0 ));
7264
+ DATETIME_ADD_MACRO (d , "max" ,
7265
+ new_delta (MAX_DELTA_DAYS , 24 * 3600 - 1 , 1000000 - 1 , 0 ));
7266
+
7267
+ /* date values */
7268
+ d = _PyType_GetDict (& PyDateTime_DateType );
7269
+ DATETIME_ADD_MACRO (d , "min" , new_date (1 , 1 , 1 ));
7270
+ DATETIME_ADD_MACRO (d , "max" , new_date (MAXYEAR , 12 , 31 ));
7271
+ DATETIME_ADD_MACRO (d , "resolution" , new_delta (1 , 0 , 0 , 0 ));
7272
+
7273
+ /* time values */
7274
+ d = _PyType_GetDict (& PyDateTime_TimeType );
7275
+ DATETIME_ADD_MACRO (d , "min" , new_time (0 , 0 , 0 , 0 , Py_None , 0 ));
7276
+ DATETIME_ADD_MACRO (d , "max" , new_time (23 , 59 , 59 , 999999 , Py_None , 0 ));
7277
+ DATETIME_ADD_MACRO (d , "resolution" , new_delta (0 , 0 , 1 , 0 ));
7278
+
7279
+ /* datetime values */
7280
+ d = _PyType_GetDict (& PyDateTime_DateTimeType );
7281
+ DATETIME_ADD_MACRO (d , "min" ,
7282
+ new_datetime (1 , 1 , 1 , 0 , 0 , 0 , 0 , Py_None , 0 ));
7283
+ DATETIME_ADD_MACRO (d , "max" , new_datetime (MAXYEAR , 12 , 31 , 23 , 59 , 59 ,
7284
+ 999999 , Py_None , 0 ));
7285
+ DATETIME_ADD_MACRO (d , "resolution" , new_delta (0 , 0 , 1 , 0 ));
7286
+
7287
+ /* timezone values */
7288
+ d = _PyType_GetDict (& PyDateTime_TimeZoneType );
7289
+ if (PyDict_SetItemString (d , "utc" , (PyObject * )& utc_timezone ) < 0 ) {
7290
+ goto error ;
7291
+ }
7291
7292
7292
- /* bpo-37642: These attributes are rounded to the nearest minute for backwards
7293
- * compatibility, even though the constructor will accept a wider range of
7294
- * values. This may change in the future.*/
7293
+ /* bpo-37642: These attributes are rounded to the nearest minute for backwards
7294
+ * compatibility, even though the constructor will accept a wider range of
7295
+ * values. This may change in the future.*/
7295
7296
7296
- /* -23:59 */
7297
- DATETIME_ADD_MACRO (d , "min" , create_timezone_from_delta (-1 , 60 , 0 , 1 ));
7297
+ /* -23:59 */
7298
+ DATETIME_ADD_MACRO (d , "min" , create_timezone_from_delta (-1 , 60 , 0 , 1 ));
7298
7299
7299
- /* +23:59 */
7300
- DATETIME_ADD_MACRO (
7301
- d , "max" , create_timezone_from_delta (0 , (23 * 60 + 59 ) * 60 , 0 , 0 ));
7300
+ /* +23:59 */
7301
+ DATETIME_ADD_MACRO (
7302
+ d , "max" , create_timezone_from_delta (0 , (23 * 60 + 59 ) * 60 , 0 , 0 ));
7303
+ }
7302
7304
7303
7305
#undef DATETIME_ADD_MACRO
7304
7306
@@ -7342,12 +7344,6 @@ _datetime_exec(PyObject *module)
7342
7344
static_assert (DI100Y == 25 * DI4Y - 1 , "DI100Y" );
7343
7345
assert (DI100Y == days_before_year (100 + 1 ));
7344
7346
7345
- if (reloading ) {
7346
- for (size_t i = 0 ; i < Py_ARRAY_LENGTH (capi_types ); i ++ ) {
7347
- PyType_Modified (capi_types [i ]);
7348
- }
7349
- }
7350
-
7351
7347
if (set_current_module (interp , module ) < 0 ) {
7352
7348
goto error ;
7353
7349
}
0 commit comments