summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorStefan Behnel <stefan_ml@behnel.de>2020-06-04 07:55:43 +0200
committerStefan Behnel <stefan_ml@behnel.de>2020-06-04 08:17:36 +0200
commit70a58ea21ea240ebf7e59ac4f3fad2b2b8bf376f (patch)
treeb84f8da6d83bf45febda01a34341fd3d3d5e7bb1
parentdc0649f7753d6b318b11805b599ea83be59ea3b4 (diff)
downloadcython-70a58ea21ea240ebf7e59ac4f3fad2b2b8bf376f.tar.gz
Avoid "possible loss of data" warning in MSVC by adding redundant casts to code that gets discarded later.
-rw-r--r--Cython/Utility/Overflow.c12
-rw-r--r--Cython/Utility/TypeConversion.c2
2 files changed, 7 insertions, 7 deletions
diff --git a/Cython/Utility/Overflow.c b/Cython/Utility/Overflow.c
index 1bb63ae59..2e58ee54a 100644
--- a/Cython/Utility/Overflow.c
+++ b/Cython/Utility/Overflow.c
@@ -360,24 +360,24 @@ static CYTHON_INLINE {{TYPE}} __Pyx_{{BINOP}}_{{NAME}}_checking_overflow({{TYPE}
return __Pyx_{{BINOP}}_no_overflow(a, b, overflow);
} else if (__PYX_IS_UNSIGNED({{TYPE}})) {
if ((sizeof({{TYPE}}) == sizeof(unsigned int))) {
- return __Pyx_{{BINOP}}_unsigned_int_checking_overflow(a, b, overflow);
+ return ({{TYPE}}) __Pyx_{{BINOP}}_unsigned_int_checking_overflow(a, b, overflow);
} else if ((sizeof({{TYPE}}) == sizeof(unsigned long))) {
- return __Pyx_{{BINOP}}_unsigned_long_checking_overflow(a, b, overflow);
+ return ({{TYPE}}) __Pyx_{{BINOP}}_unsigned_long_checking_overflow(a, b, overflow);
#ifdef HAVE_LONG_LONG
} else if ((sizeof({{TYPE}}) == sizeof(unsigned PY_LONG_LONG))) {
- return __Pyx_{{BINOP}}_unsigned_long_long_checking_overflow(a, b, overflow);
+ return ({{TYPE}}) __Pyx_{{BINOP}}_unsigned_long_long_checking_overflow(a, b, overflow);
#endif
} else {
abort(); return 0; /* handled elsewhere */
}
} else {
if ((sizeof({{TYPE}}) == sizeof(int))) {
- return __Pyx_{{BINOP}}_int_checking_overflow(a, b, overflow);
+ return ({{TYPE}}) __Pyx_{{BINOP}}_int_checking_overflow(a, b, overflow);
} else if ((sizeof({{TYPE}}) == sizeof(long))) {
- return __Pyx_{{BINOP}}_long_checking_overflow(a, b, overflow);
+ return ({{TYPE}}) __Pyx_{{BINOP}}_long_checking_overflow(a, b, overflow);
#ifdef HAVE_LONG_LONG
} else if ((sizeof({{TYPE}}) == sizeof(PY_LONG_LONG))) {
- return __Pyx_{{BINOP}}_long_long_checking_overflow(a, b, overflow);
+ return ({{TYPE}}) __Pyx_{{BINOP}}_long_long_checking_overflow(a, b, overflow);
#endif
} else {
abort(); return 0; /* handled elsewhere */
diff --git a/Cython/Utility/TypeConversion.c b/Cython/Utility/TypeConversion.c
index a3550da64..6460555c8 100644
--- a/Cython/Utility/TypeConversion.c
+++ b/Cython/Utility/TypeConversion.c
@@ -433,7 +433,7 @@ static CYTHON_INLINE Py_ssize_t __Pyx_PyIndex_AsSsize_t(PyObject* b) {
static CYTHON_INLINE Py_hash_t __Pyx_PyIndex_AsHash_t(PyObject* o) {
if (sizeof(Py_hash_t) == sizeof(Py_ssize_t)) {
- return __Pyx_PyIndex_AsSsize_t(o);
+ return (Py_hash_t) __Pyx_PyIndex_AsSsize_t(o);
#if PY_MAJOR_VERSION < 3
} else if (likely(PyInt_CheckExact(o))) {
return PyInt_AS_LONG(o);