summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorEric Snow <ericsnowcurrently@gmail.com>2021-06-07 23:58:38 (GMT)
committerGitHub <noreply@github.com>2021-06-07 23:58:38 (GMT)
commit165c884154901deae46b5e328a6414d130e6bfff (patch)
tree44d0d28e19cf9cb706b44f05b9bb6cfa5e7ab4ef
parent631f9938b1604d4f893417ec339b9e0fa9196fb1 (diff)
downloadcpython-165c884154901deae46b5e328a6414d130e6bfff.zip
cpython-165c884154901deae46b5e328a6414d130e6bfff.tar.gz
cpython-165c884154901deae46b5e328a6414d130e6bfff.tar.bz2
bpo-43693: Silence some compiler warnings. (gh-26588)
The plan is to eventually make PyCodeObject opaque in the public C-API, with the full struct moved to Include/internal/pycore_code.h. _PyLocalsPlusKinds and _PyLocalsPlusKind started off there but were needed on PyCodeObject, hence the duplication. This led to warnings with some compilers. (Apparently it does not trigger a warning on my install of GCC.) This change eliminates the superfluous typedef. https://bugs.python.org/issue43693
-rw-r--r--Include/cpython/code.h1
-rw-r--r--Include/internal/pycore_code.h6
2 files changed, 2 insertions, 5 deletions
diff --git a/Include/cpython/code.h b/Include/cpython/code.h
index a338374..a3db7d9 100644
--- a/Include/cpython/code.h
+++ b/Include/cpython/code.h
@@ -26,7 +26,6 @@ typedef uint16_t _Py_CODEUNIT;
typedef struct _PyOpcache _PyOpcache;
-// These are duplicated from pycore_code.h.
typedef unsigned char _PyLocalsPlusKind;
typedef _PyLocalsPlusKind *_PyLocalsPlusKinds;
diff --git a/Include/internal/pycore_code.h b/Include/internal/pycore_code.h
index d1ff597..2709e08 100644
--- a/Include/internal/pycore_code.h
+++ b/Include/internal/pycore_code.h
@@ -167,8 +167,8 @@ extern Py_ssize_t _Py_QuickenedCount;
* "free" kind is mutually exclusive with both.
*/
-// We would use an enum if C let us specify the storage type.
-typedef unsigned char _PyLocalsPlusKind;
+// For now _PyLocalsPlusKind and _PyLocalsPlusKinds are defined
+// in Include/cpython/code.h.
/* Note that these all fit within _PyLocalsPlusKind, as do combinations. */
// Later, we will use the smaller numbers to differentiate the different
// kinds of locals (e.g. pos-only arg, varkwargs, local-only).
@@ -176,8 +176,6 @@ typedef unsigned char _PyLocalsPlusKind;
#define CO_FAST_CELL 0x40
#define CO_FAST_FREE 0x80
-typedef _PyLocalsPlusKind *_PyLocalsPlusKinds;
-
static inline int
_PyCode_InitLocalsPlusKinds(int num, _PyLocalsPlusKinds *pkinds)
{