-
Notifications
You must be signed in to change notification settings - Fork 58
Open
Description
When I build CFFI using 3.14rc1, I see:
src/c/_cffi_backend.c:955:17: warning: '_PyLong_Sign' is deprecated [-Wdeprecated-declarations]
955 | if (_PyLong_Sign(ob) < 0)
| ^
/Users/goldbaum/.pyenv/versions/3.14.0rc1t/include/python3.14t/cpython/longobject.h:38:1: note: '_PyLong_Sign' has been explicitly marked deprecated here
38 | Py_DEPRECATED(3.14) PyAPI_FUNC(int) _PyLong_Sign(PyObject *v);
| ^
/Users/goldbaum/.pyenv/versions/3.14.0rc1t/include/python3.14t/pyport.h:280:54: note: expanded from macro 'Py_DEPRECATED'
280 | #define Py_DEPRECATED(VERSION_UNUSED) __attribute__((__deprecated__))
| ^
src/c/_cffi_backend.c:4083:16: warning: '_PyLong_Sign' is deprecated [-Wdeprecated-declarations]
4083 | return _PyLong_Sign(ob) != 0;
| ^
/Users/goldbaum/.pyenv/versions/3.14.0rc1t/include/python3.14t/cpython/longobject.h:38:1: note: '_PyLong_Sign' has been explicitly marked deprecated here
38 | Py_DEPRECATED(3.14) PyAPI_FUNC(int) _PyLong_Sign(PyObject *v);
| ^
/Users/goldbaum/.pyenv/versions/3.14.0rc1t/include/python3.14t/pyport.h:280:54: note: expanded from macro 'Py_DEPRECATED'
280 | #define Py_DEPRECATED(VERSION_UNUSED) __attribute__((__deprecated__))
| ^
src/c/_cffi_backend.c:4658:22: warning: 'Py_FileSystemDefaultEncoding' is deprecated [-Wdeprecated-declarations]
4658 | Py_FileSystemDefaultEncoding, &filename_or_null, &flags))
| ^
/Users/goldbaum/.pyenv/versions/3.14.0rc1t/include/python3.14t/fileobject.h:22:1: note: 'Py_FileSystemDefaultEncoding' has been explicitly marked deprecated here
22 | Py_DEPRECATED(3.12) PyAPI_DATA(const char *) Py_FileSystemDefaultEncoding;
| ^
/Users/goldbaum/.pyenv/versions/3.14.0rc1t/include/python3.14t/pyport.h:280:54: note: expanded from macro 'Py_DEPRECATED'
280 | #define Py_DEPRECATED(VERSION_UNUSED) __attribute__((__deprecated__))
| ^
For _PyLong_Sign
, there is PyLong_GetSign
in 3.14 and newer. https://docs.python.org/3.14/c-api/long.html#c.PyLong_GetSign
For Py_FileSystemDefaultEncoding
, The 3.12 whatsnew entry says to use PyConfig.filesystem_encoding
instead: https://docs.python.org/3/whatsnew/3.12.html#id6
Metadata
Metadata
Assignees
Labels
No labels