Commit 4ee0a2df authored by Dag Sverre Seljebotn's avatar Dag Sverre Seljebotn

Mark temp as not managed in buffer code (see previous commit notes)

parent 96b1afdf
...@@ -1224,7 +1224,10 @@ class NameNode(AtomicExprNode): ...@@ -1224,7 +1224,10 @@ class NameNode(AtomicExprNode):
rhs.generate_post_assignment_code(code) rhs.generate_post_assignment_code(code)
def generate_acquire_buffer(self, rhs, code): def generate_acquire_buffer(self, rhs, code):
rhstmp = code.funcstate.allocate_temp(self.entry.type) # rhstmp is only used in case the rhs is a complicated expression leading to
# the object, to avoid repeating the same C expression for every reference
# to the rhs. It does NOT hold a reference.
rhstmp = code.funcstate.allocate_temp(self.entry.type, manage_ref=False)
buffer_aux = self.entry.buffer_aux buffer_aux = self.entry.buffer_aux
bufstruct = buffer_aux.buffer_info_var.cname bufstruct = buffer_aux.buffer_info_var.cname
code.putln('%s = %s;' % (rhstmp, rhs.result_as(self.ctype()))) code.putln('%s = %s;' % (rhstmp, rhs.result_as(self.ctype())))
......
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