aboutsummaryrefslogtreecommitdiffstats
path: root/c_compiler/src/declaration.cpp
diff options
context:
space:
mode:
authorYann Herklotz <ymherklotz@gmail.com>2017-03-17 15:32:22 +0000
committerYann Herklotz <ymherklotz@gmail.com>2017-03-17 15:32:22 +0000
commit3d846f1ef6fa03a075e3b1f6cd2f021856d2846f (patch)
tree8710b643a58a782403a7b179b6d3abe2fb09c356 /c_compiler/src/declaration.cpp
parent3d77964b5739146a5285d10543df7b51e066c239 (diff)
downloadCompiler-3d846f1ef6fa03a075e3b1f6cd2f021856d2846f.tar.gz
Compiler-3d846f1ef6fa03a075e3b1f6cd2f021856d2846f.zip
Trying to fix segfault
Diffstat (limited to 'c_compiler/src/declaration.cpp')
-rw-r--r--c_compiler/src/declaration.cpp8
1 files changed, 4 insertions, 4 deletions
diff --git a/c_compiler/src/declaration.cpp b/c_compiler/src/declaration.cpp
index 353b470..b25ece4 100644
--- a/c_compiler/src/declaration.cpp
+++ b/c_compiler/src/declaration.cpp
@@ -34,7 +34,7 @@ void Declaration::printXml() const
std::cout << "<Variable id=\""<< id_ << "\" />" << std::endl;
}
-VariableStackBindings Declaration::printAsm(VariableStackBindings bindings) const
+VariableStackBindings Declaration::printAsm(VariableStackBindings bindings, unsigned& label_count) const
{
// if(init == nullptr)
// std::cout << "\t.comm\t" << id << ",4,4" << std::endl;
@@ -46,14 +46,14 @@ VariableStackBindings Declaration::printAsm(VariableStackBindings bindings) cons
// return bindings;
if(next_declaration_ != nullptr)
- bindings = next_declaration_->printAsm(bindings);
+ bindings = next_declaration_->printAsm(bindings, label_count);
if(next_list_declaration_ != nullptr)
- bindings = next_list_declaration_->printAsm(bindings);
+ bindings = next_list_declaration_->printAsm(bindings, label_count);
if(id_ != "") {
if(initializer_ != nullptr)
- initializer_->printAsm(bindings);
+ initializer_->printAsm(bindings, label_count);
else
std::cout << "\tmove\t$2,$0" << std::endl;