diff options
author | Inada Naoki <songofacandy@gmail.com> | 2019-04-16 23:39:46 (GMT) |
---|---|---|
committer | GitHub <noreply@github.com> | 2019-04-16 23:39:46 (GMT) |
commit | 926b0cb5f688808dc11448a0bf3e452d1b92c232 (patch) | |
tree | fe640ef0c6966263acec3f651963e669be8cbefa | |
parent | 31e8d69bfe7cf5d4ffe0967cb225d2a8a229cc97 (diff) | |
download | cpython-926b0cb5f688808dc11448a0bf3e452d1b92c232.zip cpython-926b0cb5f688808dc11448a0bf3e452d1b92c232.tar.gz cpython-926b0cb5f688808dc11448a0bf3e452d1b92c232.tar.bz2 |
bpo-36641: Add "const" to PyDoc_VAR macro (GH-12854)
It reduces "data" segment in python about 200KB.
-rw-r--r-- | Include/pymacro.h | 2 | ||||
-rw-r--r-- | Misc/NEWS.d/next/C API/2019-04-16-21-18-19.bpo-36641.pz-DIR.rst | 2 | ||||
-rw-r--r-- | Modules/_ssl.c | 2 |
3 files changed, 4 insertions, 2 deletions
diff --git a/Include/pymacro.h b/Include/pymacro.h index 3f6ddbe..546f9c6 100644 --- a/Include/pymacro.h +++ b/Include/pymacro.h @@ -67,7 +67,7 @@ /* Define macros for inline documentation. */ -#define PyDoc_VAR(name) static char name[] +#define PyDoc_VAR(name) static const char name[] #define PyDoc_STRVAR(name,str) PyDoc_VAR(name) = PyDoc_STR(str) #ifdef WITH_DOC_STRINGS #define PyDoc_STR(str) str diff --git a/Misc/NEWS.d/next/C API/2019-04-16-21-18-19.bpo-36641.pz-DIR.rst b/Misc/NEWS.d/next/C API/2019-04-16-21-18-19.bpo-36641.pz-DIR.rst new file mode 100644 index 0000000..f92af63 --- /dev/null +++ b/Misc/NEWS.d/next/C API/2019-04-16-21-18-19.bpo-36641.pz-DIR.rst @@ -0,0 +1,2 @@ +:c:macro:`PyDoc_VAR(name)` and :c:macro:`PyDoc_STRVAR(name,str)` now create +``static const char name[]`` instead of ``static char name[]``. Patch by Inada Naoki. diff --git a/Modules/_ssl.c b/Modules/_ssl.c index f8ae916..e75e346 100644 --- a/Modules/_ssl.c +++ b/Modules/_ssl.c @@ -557,7 +557,7 @@ SSLError_str(PyOSErrorObject *self) static PyType_Slot sslerror_type_slots[] = { {Py_tp_base, NULL}, /* Filled out in module init as it's not a constant */ - {Py_tp_doc, SSLError_doc}, + {Py_tp_doc, (void*)SSLError_doc}, {Py_tp_str, SSLError_str}, {0, 0}, }; |