From 10012bc3868da05b3a2598103061352f873440e3 Mon Sep 17 00:00:00 2001 From: Stefan Behnel Date: Mon, 24 Dec 2012 08:34:40 +0100 Subject: [PATCH] prevent InlinedDefNodeCallNode from being considered 'simple' by making CallNode generally non-simple --- Cython/Compiler/ExprNodes.py | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/Cython/Compiler/ExprNodes.py b/Cython/Compiler/ExprNodes.py index 90e0b2a..46189b6 100755 --- a/Cython/Compiler/ExprNodes.py +++ b/Cython/Compiler/ExprNodes.py @@ -3692,6 +3692,13 @@ class CallNode(ExprNode): # the case of function overloading. return self.function.type_dependencies(env) + def is_simple(self): + # C function calls could be considered simple, but they may + # have side-effects that may hit when multiple operations must + # be effected in order, e.g. when constructing the argument + # sequence for a function call or comparing values. + return False + def may_be_none(self): if self.may_return_none is not None: return self.may_return_none @@ -3857,13 +3864,6 @@ class SimpleCallNode(CallNode): return func_type - def is_simple(self): - # C function calls could be considered simple, but they may - # have side-effects that may hit when multiple operations must - # be effected in order, e.g. when constructing the argument - # sequence for a function call or comparing values. - return False - def analyse_c_function_call(self, env): if self.function.type is error_type: self.type = error_type -- 2.7.4