Commit 56f8819b authored by Stefan Behnel's avatar Stefan Behnel

disable call argument order alignment, issue warning instead

parent 63bcd561
...@@ -3054,7 +3054,11 @@ class SimpleCallNode(CallNode): ...@@ -3054,7 +3054,11 @@ class SimpleCallNode(CallNode):
# nogil anyway) # nogil anyway)
pass pass
else: 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 # Calc result type and code fragment
if isinstance(self.function, NewExprNode): if isinstance(self.function, NewExprNode):
self.type = PyrexTypes.CPtrType(self.function.class_type) self.type = PyrexTypes.CPtrType(self.function.class_type)
......
...@@ -18,6 +18,7 @@ pure_mode_cmethod_inheritance_T583 ...@@ -18,6 +18,7 @@ pure_mode_cmethod_inheritance_T583
genexpr_iterable_lookup_T600 genexpr_iterable_lookup_T600
for_from_pyvar_loop_T601 for_from_pyvar_loop_T601
decorators_T593 decorators_T593
temp_sideeffects_T654
# CPython regression tests that don't current work: # CPython regression tests that don't current work:
pyregr.test_threadsignals pyregr.test_threadsignals
......
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