Commit d0e3a743 authored by Ulrich Dobramysl's avatar Ulrich Dobramysl Committed by Ian Henriksen

Fixed overloaded call operator for stack allocated objects.

parent 72e7dda3
...@@ -4669,6 +4669,8 @@ class SimpleCallNode(CallNode): ...@@ -4669,6 +4669,8 @@ class SimpleCallNode(CallNode):
self.type = PyrexTypes.error_type self.type = PyrexTypes.error_type
self.result_code = "<error>" self.result_code = "<error>"
return return
self.function.type = overloaded_entry.type
overloaded_entry = None
elif hasattr(self.function, 'entry'): elif hasattr(self.function, 'entry'):
overloaded_entry = self.function.entry overloaded_entry = self.function.entry
elif (isinstance(self.function, IndexNode) and elif (isinstance(self.function, IndexNode) and
...@@ -4698,7 +4700,7 @@ class SimpleCallNode(CallNode): ...@@ -4698,7 +4700,7 @@ class SimpleCallNode(CallNode):
else: else:
entry = None entry = None
func_type = self.function_type() func_type = self.function_type()
if not func_type.is_cfunction: if not (func_type.is_cfunction or func_type.is_cpp_class):
error(self.pos, "Calling non-function type '%s'" % func_type) error(self.pos, "Calling non-function type '%s'" % func_type)
self.type = PyrexTypes.error_type self.type = PyrexTypes.error_type
self.result_code = "<error>" self.result_code = "<error>"
......
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