bpo-37253: Remove PyAST_obj2mod_ex() function (GH-14020)


PyAST_obj2mod_ex() is similar to PyAST_obj2mod() with an additional
'feature_version' parameter which is unused.
(cherry picked from commit 022ac0a497b668d8b15e34e582a6396ead1a35e1)

Co-authored-by: Victor Stinner <vstinner@redhat.com>
diff --git a/Include/Python-ast.h b/Include/Python-ast.h
index 490d3b0..6262650 100644
--- a/Include/Python-ast.h
+++ b/Include/Python-ast.h
@@ -707,7 +707,6 @@
 
 PyObject* PyAST_mod2obj(mod_ty t);
 mod_ty PyAST_obj2mod(PyObject* ast, PyArena* arena, int mode);
-mod_ty PyAST_obj2mod_ex(PyObject* ast, PyArena* arena, int mode, int feature_version);
 int PyAST_Check(PyObject* obj);
 
 #ifdef __cplusplus
diff --git a/Parser/asdl_c.py b/Parser/asdl_c.py
index 582c6ca..f4fa271 100644
--- a/Parser/asdl_c.py
+++ b/Parser/asdl_c.py
@@ -1191,11 +1191,6 @@
 /* mode is 0 for "exec", 1 for "eval" and 2 for "single" input */
 mod_ty PyAST_obj2mod(PyObject* ast, PyArena* arena, int mode)
 {
-    return PyAST_obj2mod_ex(ast, arena, mode, PY_MINOR_VERSION);
-}
-
-mod_ty PyAST_obj2mod_ex(PyObject* ast, PyArena* arena, int mode, int feature_version)
-{
     mod_ty res;
     PyObject *req_type[3];
     char *req_name[] = {"Module", "Expression", "Interactive"};
@@ -1280,7 +1275,6 @@
             f.write("\n")
             f.write("PyObject* PyAST_mod2obj(mod_ty t);\n")
             f.write("mod_ty PyAST_obj2mod(PyObject* ast, PyArena* arena, int mode);\n")
-            f.write("mod_ty PyAST_obj2mod_ex(PyObject* ast, PyArena* arena, int mode, int feature_version);\n")
             f.write("int PyAST_Check(PyObject* obj);\n")
             f.write('\n')
             f.write('#ifdef __cplusplus\n')
diff --git a/Python/Python-ast.c b/Python/Python-ast.c
index dc2b130..0774c58 100644
--- a/Python/Python-ast.c
+++ b/Python/Python-ast.c
@@ -8991,11 +8991,6 @@
 /* mode is 0 for "exec", 1 for "eval" and 2 for "single" input */
 mod_ty PyAST_obj2mod(PyObject* ast, PyArena* arena, int mode)
 {
-    return PyAST_obj2mod_ex(ast, arena, mode, PY_MINOR_VERSION);
-}
-
-mod_ty PyAST_obj2mod_ex(PyObject* ast, PyArena* arena, int mode, int feature_version)
-{
     mod_ty res;
     PyObject *req_type[3];
     char *req_name[] = {"Module", "Expression", "Interactive"};