Commit 42db8ab3 authored by Dag Sverre Seljebotn's avatar Dag Sverre Seljebotn

Backed out changeset 56c6f2f22f4a

parent 72d55eda
...@@ -1224,24 +1224,17 @@ class NameNode(AtomicExprNode): ...@@ -1224,24 +1224,17 @@ 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)
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())))
value_is_temp = rhs.is_temp
if value_is_temp:
rhstmp = rhs.result_as(self.ctype())
else:
rhstmp = code.funcstate.allocate_temp(self.entry.type)
code.putln('%s = %s;' % (rhstmp, rhs.result_as(self.ctype())))
code.put_incref(rhstmp, self.entry.type)
import Buffer import Buffer
Buffer.put_assign_to_buffer(self.result(), rhstmp, buffer_aux, self.entry.type, Buffer.put_assign_to_buffer(self.result(), rhstmp, buffer_aux, self.entry.type,
is_initialized=not self.lhs_of_first_assignment, is_initialized=not self.lhs_of_first_assignment,
pos=self.pos, code=code) pos=self.pos, code=code)
if not value_is_temp: code.putln("%s = 0;" % rhstmp)
code.put_decref_clear(rhstmp, self.entry.type) code.funcstate.release_temp(rhstmp)
code.funcstate.release_temp(rhstmp)
def generate_deletion_code(self, code): def generate_deletion_code(self, code):
if self.entry is None: if self.entry is None:
......
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