summaryrefslogtreecommitdiff
path: root/src/mem/slicc
diff options
context:
space:
mode:
Diffstat (limited to 'src/mem/slicc')
-rw-r--r--src/mem/slicc/symbols/Type.cc13
1 files changed, 12 insertions, 1 deletions
diff --git a/src/mem/slicc/symbols/Type.cc b/src/mem/slicc/symbols/Type.cc
index eb53cc7b9..5afe53423 100644
--- a/src/mem/slicc/symbols/Type.cc
+++ b/src/mem/slicc/symbols/Type.cc
@@ -277,6 +277,11 @@ void Type::printTypeH(string path) const
string id = m_data_member_ident_vec[i];
out << "const " << type->cIdent() << "& local_" << id;
}
+
+ if (isMessage()) {
+ out << ", const unsigned local_proc_id" << flush;
+ }
+
out << ")" << endl;
// Call superclass constructor
@@ -293,7 +298,9 @@ void Type::printTypeH(string path) const
string next_line_value = m_data_member_pairs_vec[i].lookup("nextLineCallHack");
out << " m_" << id << next_line_value << ";" << endl;
}
-
+ }
+ if (isMessage()) {
+ out << " proc_id = local_proc_id;" << endl << flush;
}
out << " }" << endl;
} // end of if(!isGlobal())
@@ -428,6 +435,10 @@ void Type::printTypeH(string path) const
}
}
+ if (isMessage()) {
+ out << " unsigned proc_id;" << endl << flush;
+ }
+
out << "};" << endl; // End class
out << "// Output operator declaration" << endl;