diff options
author | Victor Stinner <victor.stinner@gmail.com> | 2017-11-29 23:00:35 (GMT) |
---|---|---|
committer | GitHub <noreply@github.com> | 2017-11-29 23:00:35 (GMT) |
commit | dedcbee04cd52790027ecfb46cb3aa33efebdc84 (patch) | |
tree | 8baf1fdc20354eacc76c325448efd1bc36ed7443 | |
parent | 06be9daf6f03c1c65b9dd9896bc2b17f3c4bbc3a (diff) | |
download | cpython-dedcbee04cd52790027ecfb46cb3aa33efebdc84.zip cpython-dedcbee04cd52790027ecfb46cb3aa33efebdc84.tar.gz cpython-dedcbee04cd52790027ecfb46cb3aa33efebdc84.tar.bz2 |
[3.6] bpo-30923, bpo-31279: Fix GCC warnings (#4620)
* bpo-30923: Silence fall-through warnings in libexpat build. (#3205)
(cherry picked from commit 9e1e6f528f3fec16b9bd99f5ee38048ffec04a81)
* bpo-31279: Silence -Wstringop-overflow warning. (#3207)
(cherry picked from commit dce6502059f46a04f90938b9d832394c8215397b)
-rw-r--r-- | Objects/bytearrayobject.c | 2 | ||||
-rw-r--r-- | setup.py | 9 |
2 files changed, 10 insertions, 1 deletions
diff --git a/Objects/bytearrayobject.c b/Objects/bytearrayobject.c index 7653322..1552457 100644 --- a/Objects/bytearrayobject.c +++ b/Objects/bytearrayobject.c @@ -244,7 +244,7 @@ PyByteArray_Resize(PyObject *self, Py_ssize_t requested_size) return -1; } memcpy(sval, PyByteArray_AS_STRING(self), - Py_MIN(requested_size, Py_SIZE(self))); + Py_MIN((size_t)requested_size, (size_t)Py_SIZE(self))); PyObject_Free(obj->ob_bytes); } else { @@ -1526,6 +1526,7 @@ class PyBuildExt(build_ext): if '--with-system-expat' in sysconfig.get_config_var("CONFIG_ARGS"): expat_inc = [] define_macros = [] + extra_compile_args = [] expat_lib = ['expat'] expat_sources = [] expat_depends = [] @@ -1537,6 +1538,7 @@ class PyBuildExt(build_ext): # call XML_SetHashSalt(), expat entropy sources are not needed ('XML_POOR_ENTROPY', '1'), ] + extra_compile_args = [] expat_lib = [] expat_sources = ['expat/xmlparse.c', 'expat/xmlrole.c', @@ -1554,8 +1556,15 @@ class PyBuildExt(build_ext): 'expat/xmltok_impl.h' ] + cc = sysconfig.get_config_var('CC').split()[0] + ret = os.system( + '"%s" -Werror -Wimplicit-fallthrough -E -xc /dev/null >/dev/null 2>&1' % cc) + if ret >> 8 == 0: + extra_compile_args.append('-Wno-implicit-fallthrough') + exts.append(Extension('pyexpat', define_macros = define_macros, + extra_compile_args = extra_compile_args, include_dirs = expat_inc, libraries = expat_lib, sources = ['pyexpat.c'] + expat_sources, |