Commit ba258f75 authored by Stefan Behnel's avatar Stefan Behnel

Rename "GCC_DIAGNOSTIC" macro to make it Cython specific and make it available...

Rename "GCC_DIAGNOSTIC" macro to make it Cython specific and make it available to other utility code sections.
parent 4c02adc9
...@@ -430,6 +430,15 @@ static CYTHON_INLINE PyObject * __Pyx_PyInt_FromSize_t(size_t ival) { ...@@ -430,6 +430,15 @@ static CYTHON_INLINE PyObject * __Pyx_PyInt_FromSize_t(size_t ival) {
} }
/////////////// GCCDiagnostics.proto ///////////////
// GCC diagnostic pragmas were introduced in GCC 4.6
// Used to silence conversion warnings that are ok but cannot be avoided.
#if defined(__GNUC__) && (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 6))
#define __Pyx_HAS_GCC_DIAGNOSTIC
#endif
/////////////// ToPyCTupleUtility.proto /////////////// /////////////// ToPyCTupleUtility.proto ///////////////
static PyObject* {{funcname}}({{struct_type_decl}}); static PyObject* {{funcname}}({{struct_type_decl}});
...@@ -687,6 +696,7 @@ static CYTHON_INLINE PyObject* {{TO_PY_FUNCTION}}({{TYPE}} value, Py_ssize_t wid ...@@ -687,6 +696,7 @@ static CYTHON_INLINE PyObject* {{TO_PY_FUNCTION}}({{TYPE}} value, Py_ssize_t wid
/////////////// CIntToPyUnicode /////////////// /////////////// CIntToPyUnicode ///////////////
//@requires: StringTools.c::BuildPyUnicode //@requires: StringTools.c::BuildPyUnicode
//@requires: CIntToDigits //@requires: CIntToDigits
//@requires: GCCDiagnostics
#ifdef _MSC_VER #ifdef _MSC_VER
#ifndef _MSC_STDINT_H_ #ifndef _MSC_STDINT_H_
...@@ -702,10 +712,6 @@ static CYTHON_INLINE PyObject* {{TO_PY_FUNCTION}}({{TYPE}} value, Py_ssize_t wid ...@@ -702,10 +712,6 @@ static CYTHON_INLINE PyObject* {{TO_PY_FUNCTION}}({{TYPE}} value, Py_ssize_t wid
// NOTE: inlining because most arguments are constant, which collapses lots of code below // NOTE: inlining because most arguments are constant, which collapses lots of code below
// GCC diagnostic pragmas were introduced in GCC 4.6
#if defined(__GNUC__) && (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 6))
#define GCC_DIAGNOSTIC
#endif
static CYTHON_INLINE PyObject* {{TO_PY_FUNCTION}}({{TYPE}} value, Py_ssize_t width, char padding_char, char format_char) { static CYTHON_INLINE PyObject* {{TO_PY_FUNCTION}}({{TYPE}} value, Py_ssize_t width, char padding_char, char format_char) {
// simple and conservative C string allocation on the stack: each byte gives at most 3 digits, plus sign // simple and conservative C string allocation on the stack: each byte gives at most 3 digits, plus sign
char digits[sizeof({{TYPE}})*3+2]; char digits[sizeof({{TYPE}})*3+2];
...@@ -715,12 +721,12 @@ static CYTHON_INLINE PyObject* {{TO_PY_FUNCTION}}({{TYPE}} value, Py_ssize_t wid ...@@ -715,12 +721,12 @@ static CYTHON_INLINE PyObject* {{TO_PY_FUNCTION}}({{TYPE}} value, Py_ssize_t wid
Py_ssize_t length, ulength; Py_ssize_t length, ulength;
int prepend_sign, last_one_off; int prepend_sign, last_one_off;
{{TYPE}} remaining; {{TYPE}} remaining;
#ifdef GCC_DIAGNOSTIC #ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push #pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion" #pragma GCC diagnostic ignored "-Wconversion"
#endif #endif
const {{TYPE}} neg_one = ({{TYPE}}) -1, const_zero = ({{TYPE}}) 0; const {{TYPE}} neg_one = ({{TYPE}}) -1, const_zero = ({{TYPE}}) 0;
#ifdef GCC_DIAGNOSTIC #ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic pop #pragma GCC diagnostic pop
#endif #endif
const int is_unsigned = neg_one > const_zero; const int is_unsigned = neg_one > const_zero;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment