# HG changeset patch
# User Timothy M. Jones <[email protected]>
# Date 1255700903 -3600
# Node ID 4f0ed3f5c62aea9094aef48a680466893776e4ba
# Parent 36e888825dbd24ad2746584dcb7781e380aadd52
Fix compiler errors resulting from string comparisons in PowerPC.
diff --git a/src/arch/powerpc/insts/integer.cc
b/src/arch/powerpc/insts/integer.cc
--- a/src/arch/powerpc/insts/integer.cc
+++ b/src/arch/powerpc/insts/integer.cc
@@ -30,26 +30,27 @@
#include "arch/powerpc/insts/integer.hh"
+using namespace std;
using namespace PowerpcISA;
-std::string
+string
IntOp::generateDisassembly(Addr pc, const SymbolTable *symtab) const
{
- std::stringstream ss;
+ stringstream ss;
bool printDest = true;
bool printSrcs = true;
bool printSecondSrc = true;
// Generate the correct mnemonic
- std::string myMnemonic(mnemonic);
+ string myMnemonic(mnemonic);
// Special cases
- if (mnemonic == "or" && _srcRegIdx[0] == _srcRegIdx[1]) {
+ if (!myMnemonic.compare("or") && _srcRegIdx[0] == _srcRegIdx[1]) {
myMnemonic = "mr";
printSecondSrc = false;
- } else if (mnemonic == "mtlr" || mnemonic == "cmpi") {
+ } else if (!myMnemonic.compare("mtlr") || !myMnemonic.compare("cmpi")) {
printDest = false;
- } else if (mnemonic == "mflr") {
+ } else if (!myMnemonic.compare("mflr")) {
printSrcs = false;
}
@@ -79,18 +80,18 @@
}
-std::string
+string
IntImmOp::generateDisassembly(Addr pc, const SymbolTable *symtab) const
{
- std::stringstream ss;
+ stringstream ss;
// Generate the correct mnemonic
- std::string myMnemonic(mnemonic);
+ string myMnemonic(mnemonic);
// Special cases
- if (mnemonic == "addi" && _numSrcRegs == 0) {
+ if (!myMnemonic.compare("addi") && _numSrcRegs == 0) {
myMnemonic = "li";
- } else if (mnemonic == "addis" && _numSrcRegs == 0) {
+ } else if (!myMnemonic.compare("addis") && _numSrcRegs == 0) {
myMnemonic = "lis";
}
ccprintf(ss, "%-10s ", myMnemonic);
@@ -115,10 +116,10 @@
}
-std::string
+string
IntShiftOp::generateDisassembly(Addr pc, const SymbolTable *symtab) const
{
- std::stringstream ss;
+ stringstream ss;
ccprintf(ss, "%-10s ", mnemonic);
@@ -142,10 +143,10 @@
}
-std::string
+string
IntRotateOp::generateDisassembly(Addr pc, const SymbolTable *symtab) const
{
- std::stringstream ss;
+ stringstream ss;
ccprintf(ss, "%-10s ", mnemonic);
--
The University of Edinburgh is a charitable body, registered in
Scotland, with registration number SC005336.
_______________________________________________
m5-dev mailing list
[email protected]
http://m5sim.org/mailman/listinfo/m5-dev