previous commit broke numpy buffer access for Py<=2.4
authorLisandro Dalcin <dalcinl@gmail.com>
Fri, 20 Aug 2010 16:17:54 +0000 (13:17 -0300)
committerLisandro Dalcin <dalcinl@gmail.com>
Fri, 20 Aug 2010 16:17:54 +0000 (13:17 -0300)
Cython/Compiler/Nodes.py

index fab63c1a02b5d16c6dec063c2557420dd6b56789..ecd4b8f7b9b83ba720d0b4509e25a5a1c8e4cb7e 100644 (file)
@@ -1216,11 +1216,18 @@ class FuncDefNode(StatNode, BlockNode):
         is_releasebuffer_slot = (self.entry.name == "__releasebuffer__" and
                                  self.entry.scope.is_c_class_scope)
         is_buffer_slot = is_getbuffer_slot or is_releasebuffer_slot
-        is_index_slot = (self.entry.name == "__index__" and
-                         self.entry.scope.is_c_class_scope)
-        if is_buffer_slot or is_index_slot:
+        if is_buffer_slot:
             if 'cython_unused' not in self.modifiers:
                 self.modifiers = self.modifiers + ['cython_unused']
+
+        preprocessor_guard = None
+        if self.entry.is_special and not is_buffer_slot:
+            slot = TypeSlots.method_name_to_slot.get(self.entry.name)
+            if slot:
+                preprocessor_guard = slot.preprocessor_guard_code()
+                if (self.entry.name == '__long__' and
+                    not self.entry.scope.lookup_here('__int__')):
+                    preprocessor_guard = None
         
         profile = code.globalstate.directives['profile']
         if profile:
@@ -1238,14 +1245,6 @@ class FuncDefNode(StatNode, BlockNode):
         # ----- Function header
         code.putln("")
 
-        preprocessor_guard = None
-        if self.entry.is_special:
-            slot = TypeSlots.method_name_to_slot.get(self.entry.name)
-            if slot:
-                preprocessor_guard = slot.preprocessor_guard_code()
-                if (self.entry.name == '__long__' and
-                    not self.entry.scope.lookup_here('__int__')):
-                    preprocessor_guard = None
         if preprocessor_guard:
             code.putln(preprocessor_guard)