# 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

Reply via email to