From 56f8819bd70c36964e138d7a87a577d828760765 Mon Sep 17 00:00:00 2001 From: Stefan Behnel Date: Sat, 19 Mar 2011 11:07:48 +0100 Subject: [PATCH] disable call argument order alignment, issue warning instead --- Cython/Compiler/ExprNodes.py | 6 +++++- tests/bugs.txt | 1 + 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/Cython/Compiler/ExprNodes.py b/Cython/Compiler/ExprNodes.py index 1fe85384..d90b4b17 100755 --- a/Cython/Compiler/ExprNodes.py +++ b/Cython/Compiler/ExprNodes.py @@ -3054,7 +3054,11 @@ class SimpleCallNode(CallNode): # nogil anyway) pass else: - self.args[i] = arg.coerce_to_temp(env) + #self.args[i] = arg.coerce_to_temp(env) + # instead: issue a warning + if i > 0 or i == 1 and self.self is not None: # skip first arg + warning(arg.pos, "Argument evaluation order in C function call is undefined and may not be as expected", 0) + break # Calc result type and code fragment if isinstance(self.function, NewExprNode): self.type = PyrexTypes.CPtrType(self.function.class_type) diff --git a/tests/bugs.txt b/tests/bugs.txt index b11f2929..a5cebffc 100644 --- a/tests/bugs.txt +++ b/tests/bugs.txt @@ -18,6 +18,7 @@ pure_mode_cmethod_inheritance_T583 genexpr_iterable_lookup_T600 for_from_pyvar_loop_T601 decorators_T593 +temp_sideeffects_T654 # CPython regression tests that don't current work: pyregr.test_threadsignals -- 2.26.2