diff options
Diffstat (limited to 'src/mem/slicc')
-rw-r--r-- | src/mem/slicc/symbols/Type.cc | 13 |
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; |