From af8b76d0a83813b3cebac7468db4bd64e534c235 Mon Sep 17 00:00:00 2001 From: Yann Herklotz Date: Mon, 20 Mar 2017 13:11:19 +0000 Subject: global vars work and changing to printf --- c_compiler/src/function.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'c_compiler/src/function.cpp') diff --git a/c_compiler/src/function.cpp b/c_compiler/src/function.cpp index 35e02f4..c1f60cd 100644 --- a/c_compiler/src/function.cpp +++ b/c_compiler/src/function.cpp @@ -47,6 +47,7 @@ void Function::printXml() const VariableStackBindings Function::printAsm(VariableStackBindings bindings, unsigned& label_count) const { + VariableStackBindings original_bindings = bindings; // Counting all the variables being declared in the function unsigned variable_count = 0; if(statement_ != nullptr) @@ -90,7 +91,7 @@ VariableStackBindings Function::printAsm(VariableStackBindings bindings, unsigne << memory_needed-8 << "($sp)\n\taddiu\t$sp,$sp," << memory_needed << "\n\tjr\t$31\n\tnop\n"; - return bindings; + return original_bindings; } void Function::printParameterAsm(VariableStackBindings& bindings, unsigned& stack_offset, -- cgit