bpo-37253: Add _PyCompilerFlags_INIT macro (GH-14018)
Add a new _PyCompilerFlags_INIT macro to initialize PyCompilerFlags
variables, rather than initializing cf_flags and cf_feature_version
explicitly in each variable.
diff --git a/Modules/main.c b/Modules/main.c
index 6b9406f..853afed 100644
--- a/Modules/main.c
+++ b/Modules/main.c
@@ -524,7 +524,7 @@
}
}
- PyCompilerFlags cf = {.cf_flags = 0, .cf_feature_version = PY_MINOR_VERSION};
+ PyCompilerFlags cf = _PyCompilerFlags_INIT;
pymain_header(config);
pymain_import_readline(config);
diff --git a/Modules/parsermodule.c b/Modules/parsermodule.c
index 36f9214..079d00f 100644
--- a/Modules/parsermodule.c
+++ b/Modules/parsermodule.c
@@ -336,8 +336,7 @@
if (o != 0) {
o->st_node = st;
o->st_type = type;
- o->st_flags.cf_flags = 0;
- o->st_flags.cf_feature_version = PY_MINOR_VERSION;
+ o->st_flags = _PyCompilerFlags_INIT;
}
else {
PyNode_Free(st);
diff --git a/Modules/symtablemodule.c b/Modules/symtablemodule.c
index d66cb44..9180f18 100644
--- a/Modules/symtablemodule.c
+++ b/Modules/symtablemodule.c
@@ -30,11 +30,10 @@
struct symtable *st;
PyObject *t;
int start;
- PyCompilerFlags cf;
+ PyCompilerFlags cf = _PyCompilerFlags_INIT;
PyObject *source_copy = NULL;
cf.cf_flags = PyCF_SOURCE_IS_UTF8;
- cf.cf_feature_version = PY_MINOR_VERSION;
const char *str = _Py_SourceAsString(source, "symtable", "string or bytes", &cf, &source_copy);
if (str == NULL) {