fix 'restrict' usage in g++
authorStefan Behnel <stefan_ml@behnel.de>
Thu, 25 Apr 2013 15:48:14 +0000 (17:48 +0200)
committerStefan Behnel <stefan_ml@behnel.de>
Thu, 25 Apr 2013 15:48:14 +0000 (17:48 +0200)
Cython/Utility/ModuleSetupCode.c
Cython/Utility/ObjectHandling.c

index 5bfefdd..698a1be 100644 (file)
   #endif
 #endif
 
+/* restrict */
+#ifndef CYTHON_RESTRICT
+  #if defined(__GNUC__)
+    #define CYTHON_RESTRICT __restrict__
+  #elif defined (__STDC_VERSION__) && __STDC_VERSION__ >= 199901L
+    #define CYTHON_RESTRICT restrict
+  #else
+    #define CYTHON_RESTRICT
+  #endif
+#endif
+
 #ifdef NAN
 #define __PYX_NAN() ((float) NAN)
 #else
index af33353..c9c7638 100644 (file)
@@ -621,11 +621,7 @@ static CYTHON_INLINE void __Pyx_crop_slice(Py_ssize_t* _start, Py_ssize_t* _stop
     *_stop = stop;
 }
 
-#if defined (__STDC_VERSION__) && __STDC_VERSION__ >= 199901L
-static CYTHON_INLINE void __Pyx_copy_object_array(PyObject** restrict src, PyObject** restrict dest, Py_ssize_t length) {
-#else
-static CYTHON_INLINE void __Pyx_copy_object_array(PyObject** src, PyObject** dest, Py_ssize_t length) {
-#endif
+static CYTHON_INLINE void __Pyx_copy_object_array(PyObject** CYTHON_RESTRICT src, PyObject** CYTHON_RESTRICT dest, Py_ssize_t length) {
     PyObject *v;
     Py_ssize_t i;
     for (i = 0; i < length; i++) {