Require Python 3.4

I believe we previously agreed that the minimum supported Python
version should be 3.4.  This patch makes this change, harmonizing the
documentation (which was inconsistent about the minimum version) and
the code.

New in v2: rebased, and removed a pre-3.4 workaround from __init__.py.

Reviewed-By: Eli Zaretskii <eliz@gnu.org>
Approved-by: Kevin Buettner <kevinb@redhat.com>
Acked-By: Tom de Vries <tdevries@suse.de>
Bug: https://sourceware.org/bugzilla/show_bug.cgi?id=31870
This commit is contained in:
Tom Tromey 2024-10-16 09:58:14 -06:00
parent 429fb15134
commit d61186d8f8
8 changed files with 11 additions and 27 deletions

View file

@ -19,12 +19,7 @@ import sys
import threading
import traceback
from contextlib import contextmanager
# Python 3 moved "reload"
if sys.version_info >= (3, 4):
from importlib import reload
else:
from imp import reload
from importlib import reload
import _gdb

View file

@ -29,11 +29,7 @@
static char *
gdbpy_readline_wrapper (FILE *sys_stdin, FILE *sys_stdout,
#if PY_MAJOR_VERSION == 3 && PY_MINOR_VERSION >= 4
const char *prompt)
#else
char *prompt)
#endif
{
int n;
const char *p = NULL;

View file

@ -88,6 +88,8 @@
#include <frameobject.h>
#include "py-ref.h"
static_assert (PY_VERSION_HEX >= 0x03040000);
#define Py_TPFLAGS_CHECKTYPES 0
/* If Python.h does not define WITH_THREAD, then the various
@ -135,17 +137,6 @@ typedef unsigned long gdb_py_ulongest;
#endif /* HAVE_LONG_LONG */
#if PY_VERSION_HEX < 0x03020000
typedef long Py_hash_t;
#endif
/* PyMem_RawMalloc appeared in Python 3.4. For earlier versions, we can just
fall back to PyMem_Malloc. */
#if PY_VERSION_HEX < 0x03040000
#define PyMem_RawMalloc PyMem_Malloc
#endif
/* A template variable holding the format character (as for
Py_BuildValue) for a given type. */
template<typename T>