diff options
| author | Chris Lattner <sabre@nondot.org> | 2002-01-20 22:54:45 +0000 | 
|---|---|---|
| committer | Chris Lattner <sabre@nondot.org> | 2002-01-20 22:54:45 +0000 | 
| commit | 7f74a56e2436c40b18a672ad7d58727cd6832329 (patch) | |
| tree | 6a4683a53f7eb71b8a3425008ef21268c2b2c8fd /llvm/lib/ExecutionEngine | |
| parent | 850d4f6af1a0e9de3fa6e10afb04e3738fcc5d67 (diff) | |
| download | bcm5719-llvm-7f74a56e2436c40b18a672ad7d58727cd6832329.tar.gz bcm5719-llvm-7f74a56e2436c40b18a672ad7d58727cd6832329.zip  | |
Changes to build successfully with GCC 3.02
llvm-svn: 1503
Diffstat (limited to 'llvm/lib/ExecutionEngine')
6 files changed, 102 insertions, 90 deletions
diff --git a/llvm/lib/ExecutionEngine/Interpreter/Execution.cpp b/llvm/lib/ExecutionEngine/Interpreter/Execution.cpp index c48ec92b3e9..d92764e49a6 100644 --- a/llvm/lib/ExecutionEngine/Interpreter/Execution.cpp +++ b/llvm/lib/ExecutionEngine/Interpreter/Execution.cpp @@ -19,6 +19,10 @@  #include <math.h>  // For fmod  #include <signal.h>  #include <setjmp.h> +#include <iostream> +using std::vector; +using std::cout; +using std::cerr;  cl::Flag   QuietMode ("quiet"  , "Do not emit any non-program output");  cl::Alias  QuietModeA("q"      , "Alias for -quiet", cl::NoFlags, QuietMode); @@ -35,7 +39,7 @@ CachedWriter CW;     // Object to accelerate printing of LLVM  static cl::Flag ProfileStructureFields("profilestructfields",                                          "Profile Structure Field Accesses");  #include <map> -static map<const StructType *, vector<unsigned> > FieldAccessCounts; +static std::map<const StructType *, vector<unsigned> > FieldAccessCounts;  #endif  sigjmp_buf SignalRecoverBuffer; @@ -91,14 +95,14 @@ static GenericValue getOperandValue(Value *V, ExecutionContext &SF) {      case Type::PointerTyID:        if (isa<ConstantPointerNull>(CPV)) {          Result.PointerVal = 0; -      } else if (ConstantPointerRef *CPR =dyn_cast<ConstantPointerRef>(CPV)) { +      } else if (isa<ConstantPointerRef>(CPV)) {          assert(0 && "Not implemented!");        } else {          assert(0 && "Unknown constant pointer type!");        }        break;      default: -      cout << "ERROR: Constant unimp for type: " << CPV->getType() << endl; +      cout << "ERROR: Constant unimp for type: " << CPV->getType() << "\n";      }      return Result;    } else if (GlobalValue *GV = dyn_cast<GlobalValue>(V)) { @@ -134,7 +138,7 @@ static void printOperandInfo(Value *V, ExecutionContext &SF) {        cout << ( Cur     >= 160? char((Cur>>4)+'A'-10) : char((Cur>>4) + '0'))             << ((Cur&15) >=  10? char((Cur&15)+'A'-10) : char((Cur&15) + '0'));      } -    cout << endl; +    cout << "\n";    }  } @@ -143,7 +147,7 @@ static void printOperandInfo(Value *V, ExecutionContext &SF) {  static void SetValue(Value *V, GenericValue Val, ExecutionContext &SF) {    unsigned TyP = V->getType()->getUniqueID();   // TypePlane for value -  //cout << "Setting value: " << &SF.Values[TyP][getOperandSlot(V)] << endl; +  //cout << "Setting value: " << &SF.Values[TyP][getOperandSlot(V)] << "\n";    SF.Values[TyP][getOperandSlot(V)] = Val;  } @@ -217,7 +221,7 @@ static void InitializeMemory(Constant *Init, char *Addr) {      return;    default: -    CW << "Bad Type: " << Init->getType() << endl; +    CW << "Bad Type: " << Init->getType() << "\n";      assert(0 && "Unknown constant type to initialize memory with!");    }  } @@ -277,7 +281,7 @@ static GenericValue executeAddInst(GenericValue Src1, GenericValue Src2,      IMPLEMENT_BINARY_OPERATOR(+, Double);      IMPLEMENT_BINARY_OPERATOR(+, Pointer);    default: -    cout << "Unhandled type for Add instruction: " << Ty << endl; +    cout << "Unhandled type for Add instruction: " << Ty << "\n";    }    return Dest;  } @@ -298,7 +302,7 @@ static GenericValue executeSubInst(GenericValue Src1, GenericValue Src2,      IMPLEMENT_BINARY_OPERATOR(-, Double);      IMPLEMENT_BINARY_OPERATOR(-, Pointer);    default: -    cout << "Unhandled type for Sub instruction: " << Ty << endl; +    cout << "Unhandled type for Sub instruction: " << Ty << "\n";    }    return Dest;  } @@ -319,7 +323,7 @@ static GenericValue executeMulInst(GenericValue Src1, GenericValue Src2,      IMPLEMENT_BINARY_OPERATOR(*, Double);      IMPLEMENT_BINARY_OPERATOR(*, Pointer);    default: -    cout << "Unhandled type for Mul instruction: " << Ty << endl; +    cout << "Unhandled type for Mul instruction: " << Ty << "\n";    }    return Dest;  } @@ -340,7 +344,7 @@ static GenericValue executeDivInst(GenericValue Src1, GenericValue Src2,      IMPLEMENT_BINARY_OPERATOR(/, Double);      IMPLEMENT_BINARY_OPERATOR(/, Pointer);    default: -    cout << "Unhandled type for Div instruction: " << Ty << endl; +    cout << "Unhandled type for Div instruction: " << Ty << "\n";    }    return Dest;  } @@ -365,7 +369,7 @@ static GenericValue executeRemInst(GenericValue Src1, GenericValue Src2,      Dest.DoubleVal = fmod(Src1.DoubleVal, Src2.DoubleVal);      break;    default: -    cout << "Unhandled type for Rem instruction: " << Ty << endl; +    cout << "Unhandled type for Rem instruction: " << Ty << "\n";    }    return Dest;  } @@ -384,7 +388,7 @@ static GenericValue executeAndInst(GenericValue Src1, GenericValue Src2,      IMPLEMENT_BINARY_OPERATOR(&, Long);      IMPLEMENT_BINARY_OPERATOR(&, Pointer);    default: -    cout << "Unhandled type for And instruction: " << Ty << endl; +    cout << "Unhandled type for And instruction: " << Ty << "\n";    }    return Dest;  } @@ -404,7 +408,7 @@ static GenericValue executeOrInst(GenericValue Src1, GenericValue Src2,      IMPLEMENT_BINARY_OPERATOR(|, Long);      IMPLEMENT_BINARY_OPERATOR(|, Pointer);    default: -    cout << "Unhandled type for Or instruction: " << Ty << endl; +    cout << "Unhandled type for Or instruction: " << Ty << "\n";    }    return Dest;  } @@ -424,7 +428,7 @@ static GenericValue executeXorInst(GenericValue Src1, GenericValue Src2,      IMPLEMENT_BINARY_OPERATOR(^, Long);      IMPLEMENT_BINARY_OPERATOR(^, Pointer);    default: -    cout << "Unhandled type for Xor instruction: " << Ty << endl; +    cout << "Unhandled type for Xor instruction: " << Ty << "\n";    }    return Dest;  } @@ -449,7 +453,7 @@ static GenericValue executeSetEQInst(GenericValue Src1, GenericValue Src2,      IMPLEMENT_SETCC(==, Double);      IMPLEMENT_SETCC(==, Pointer);    default: -    cout << "Unhandled type for SetEQ instruction: " << Ty << endl; +    cout << "Unhandled type for SetEQ instruction: " << Ty << "\n";    }    return Dest;  } @@ -471,7 +475,7 @@ static GenericValue executeSetNEInst(GenericValue Src1, GenericValue Src2,      IMPLEMENT_SETCC(!=, Pointer);    default: -    cout << "Unhandled type for SetNE instruction: " << Ty << endl; +    cout << "Unhandled type for SetNE instruction: " << Ty << "\n";    }    return Dest;  } @@ -492,7 +496,7 @@ static GenericValue executeSetLEInst(GenericValue Src1, GenericValue Src2,      IMPLEMENT_SETCC(<=, Double);      IMPLEMENT_SETCC(<=, Pointer);    default: -    cout << "Unhandled type for SetLE instruction: " << Ty << endl; +    cout << "Unhandled type for SetLE instruction: " << Ty << "\n";    }    return Dest;  } @@ -513,7 +517,7 @@ static GenericValue executeSetGEInst(GenericValue Src1, GenericValue Src2,      IMPLEMENT_SETCC(>=, Double);      IMPLEMENT_SETCC(>=, Pointer);    default: -    cout << "Unhandled type for SetGE instruction: " << Ty << endl; +    cout << "Unhandled type for SetGE instruction: " << Ty << "\n";    }    return Dest;  } @@ -534,7 +538,7 @@ static GenericValue executeSetLTInst(GenericValue Src1, GenericValue Src2,      IMPLEMENT_SETCC(<, Double);      IMPLEMENT_SETCC(<, Pointer);    default: -    cout << "Unhandled type for SetLT instruction: " << Ty << endl; +    cout << "Unhandled type for SetLT instruction: " << Ty << "\n";    }    return Dest;  } @@ -555,7 +559,7 @@ static GenericValue executeSetGTInst(GenericValue Src1, GenericValue Src2,      IMPLEMENT_SETCC(>, Double);      IMPLEMENT_SETCC(>, Pointer);    default: -    cout << "Unhandled type for SetGT instruction: " << Ty << endl; +    cout << "Unhandled type for SetGT instruction: " << Ty << "\n";    }    return Dest;  } @@ -598,7 +602,7 @@ static void PerformExitStuff() {    // Print out structure field accounting information...    if (!FieldAccessCounts.empty()) {      CW << "Profile Field Access Counts:\n"; -    map<const StructType *, vector<unsigned> >::iterator  +    std::map<const StructType *, vector<unsigned> >::iterator         I = FieldAccessCounts.begin(), E = FieldAccessCounts.end();      for (; I != E; ++I) {        vector<unsigned> &OfC = I->second; @@ -613,9 +617,9 @@ static void PerformExitStuff() {          if (i) CW << ", ";          CW << OfC[i];        } -      CW << endl; +      CW << "\n";      } -    CW << endl; +    CW << "\n";      CW << "Profile Field Access Percentages:\n";      cout.precision(3); @@ -630,9 +634,9 @@ static void PerformExitStuff() {          if (i) CW << ", ";          CW << double(OfC[i])/Sum;        } -      CW << endl; +      CW << "\n";      } -    CW << endl; +    CW << "\n";      FieldAccessCounts.clear();    } @@ -673,7 +677,7 @@ void Interpreter::executeRetInst(ReturnInst *I, ExecutionContext &SF) {          CW << "Method " << M->getType() << " \"" << M->getName()             << "\" returned ";          print(RetTy, Result); -        cout << endl; +        cout << "\n";        }        if (RetTy->isIntegral()) @@ -701,7 +705,7 @@ void Interpreter::executeRetInst(ReturnInst *I, ExecutionContext &SF) {      CW << "Method " << M->getType() << " \"" << M->getName()         << "\" returned ";      print(RetTy, Result); -    cout << endl; +    cout << "\n";    }  } @@ -930,7 +934,7 @@ static void executeShlInst(ShiftInst *I, ExecutionContext &SF) {      IMPLEMENT_SHIFT(<<, ULong);      IMPLEMENT_SHIFT(<<, Long);    default: -    cout << "Unhandled type for Shl instruction: " << Ty << endl; +    cout << "Unhandled type for Shl instruction: " << Ty << "\n";    }    SetValue(I, Dest, SF);  } @@ -951,7 +955,7 @@ static void executeShrInst(ShiftInst *I, ExecutionContext &SF) {      IMPLEMENT_SHIFT(>>, ULong);      IMPLEMENT_SHIFT(>>, Long);    default: -    cout << "Unhandled type for Shr instruction: " << Ty << endl; +    cout << "Unhandled type for Shr instruction: " << Ty << "\n";    }    SetValue(I, Dest, SF);  } @@ -977,7 +981,7 @@ static void executeShrInst(ShiftInst *I, ExecutionContext &SF) {        IMPLEMENT_CAST(DESTTY, DESTCTY, Double)  #define IMPLEMENT_CAST_CASE_END()    \ -    default: cout << "Unhandled cast: " << SrcTy << " to " << Ty << endl;  \ +    default: cout << "Unhandled cast: " << SrcTy << " to " << Ty << "\n";  \        break;                                    \      }                                           \      break @@ -1006,7 +1010,7 @@ static void executeCastInst(CastInst *I, ExecutionContext &SF) {      IMPLEMENT_CAST_CASE(Float  , (float));      IMPLEMENT_CAST_CASE(Double , (double));    default: -    cout << "Unhandled dest type for cast instruction: " << Ty << endl; +    cout << "Unhandled dest type for cast instruction: " << Ty << "\n";    }    SetValue(I, Dest, SF);  } @@ -1060,7 +1064,6 @@ void Interpreter::callMethod(Method *M, const vector<GenericValue> &ArgVals) {      if (RetTy != Type::VoidTy) {        if (!ECStack.empty() && ECStack.back().Caller) {          ExecutionContext &SF = ECStack.back(); -        CallInst *Caller = SF.Caller;          SetValue(SF.Caller, Result, SF);          SF.Caller = 0;          // We returned from the call... @@ -1069,7 +1072,7 @@ void Interpreter::callMethod(Method *M, const vector<GenericValue> &ArgVals) {          CW << "Method " << M->getType() << " \"" << M->getName()             << "\" returned ";          print(RetTy, Result);  -        cout << endl; +        cout << "\n";          if (RetTy->isIntegral())            ExitCode = Result.SByteVal;   // Capture the exit code of the program @@ -1290,8 +1293,8 @@ void Interpreter::printValue(const Type *Ty, GenericValue V) {    case Type::UShortTyID: cout << V.UShortVal; break;    case Type::IntTyID:    cout << V.IntVal;    break;    case Type::UIntTyID:   cout << V.UIntVal;   break; -  case Type::LongTyID:   cout << V.LongVal;   break; -  case Type::ULongTyID:  cout << V.ULongVal;  break; +  case Type::LongTyID:   cout << (long)V.LongVal;   break; +  case Type::ULongTyID:  cout << (unsigned long)V.ULongVal;  break;    case Type::FloatTyID:  cout << V.FloatVal;  break;    case Type::DoubleTyID: cout << V.DoubleVal; break;    case Type::PointerTyID:cout << (void*)V.PointerVal; break; @@ -1306,31 +1309,31 @@ void Interpreter::print(const Type *Ty, GenericValue V) {    printValue(Ty, V);  } -void Interpreter::print(const string &Name) { +void Interpreter::print(const std::string &Name) {    Value *PickedVal = ChooseOneOption(Name, LookupMatchingNames(Name));    if (!PickedVal) return;    if (const Method *M = dyn_cast<const Method>(PickedVal)) {      CW << M;  // Print the method    } else if (const Type *Ty = dyn_cast<const Type>(PickedVal)) { -    CW << "type %" << Name << " = " << Ty->getDescription() << endl; +    CW << "type %" << Name << " = " << Ty->getDescription() << "\n";    } else if (const BasicBlock *BB = dyn_cast<const BasicBlock>(PickedVal)) {      CW << BB;   // Print the basic block    } else {      // Otherwise there should be an annotation for the slot#      print(PickedVal->getType(),             getOperandValue(PickedVal, ECStack[CurFrame])); -    cout << endl; +    cout << "\n";    }  } -void Interpreter::infoValue(const string &Name) { +void Interpreter::infoValue(const std::string &Name) {    Value *PickedVal = ChooseOneOption(Name, LookupMatchingNames(Name));    if (!PickedVal) return;    cout << "Value: ";    print(PickedVal->getType(),           getOperandValue(PickedVal, ECStack[CurFrame])); -  cout << endl; +  cout << "\n";    printOperandInfo(PickedVal, ECStack[CurFrame]);  } @@ -1353,7 +1356,7 @@ void Interpreter::printStackFrame(int FrameNo = -1) {      printValue(Args[i]->getType(), getOperandValue(Args[i], ECStack[FrameNo]));    } -  cout << ")" << endl; +  cout << ")\n";    CW << *(ECStack[FrameNo].CurInst-(FrameNo != int(ECStack.size()-1)));  } diff --git a/llvm/lib/ExecutionEngine/Interpreter/ExecutionAnnotations.h b/llvm/lib/ExecutionEngine/Interpreter/ExecutionAnnotations.h index f6a27265f04..12717ec48e0 100644 --- a/llvm/lib/ExecutionEngine/Interpreter/ExecutionAnnotations.h +++ b/llvm/lib/ExecutionEngine/Interpreter/ExecutionAnnotations.h @@ -23,7 +23,7 @@ static AnnotationID MethodInfoAID(  struct MethodInfo : public Annotation {    MethodInfo(Method *M); -  vector<unsigned> NumPlaneElements; +  std::vector<unsigned> NumPlaneElements;    // Create - Factory function to allow MethodInfo annotations to be diff --git a/llvm/lib/ExecutionEngine/Interpreter/ExternalFunctions.cpp b/llvm/lib/ExecutionEngine/Interpreter/ExternalFunctions.cpp index a54a6f1ced0..bcff5e57954 100644 --- a/llvm/lib/ExecutionEngine/Interpreter/ExternalFunctions.cpp +++ b/llvm/lib/ExecutionEngine/Interpreter/ExternalFunctions.cpp @@ -13,26 +13,29 @@  #include "llvm/DerivedTypes.h"  #include <map>  #include <dlfcn.h> +#include <iostream>  #include <link.h>  #include <math.h>  #include <stdio.h> +using std::vector; +using std::cout;  typedef GenericValue (*ExFunc)(MethodType *, const vector<GenericValue> &); -static map<const Method *, ExFunc> Functions; -static map<string, ExFunc> FuncNames; +static std::map<const Method *, ExFunc> Functions; +static std::map<std::string, ExFunc> FuncNames;  static Interpreter *TheInterpreter;  // getCurrentExecutablePath() - Return the directory that the lli executable  // lives in.  // -string Interpreter::getCurrentExecutablePath() const { +std::string Interpreter::getCurrentExecutablePath() const {    Dl_info Info;    if (dladdr(&TheInterpreter, &Info) == 0) return ""; -  string LinkAddr(Info.dli_fname); +  std::string LinkAddr(Info.dli_fname);    unsigned SlashPos = LinkAddr.rfind('/'); -  if (SlashPos != string::npos) +  if (SlashPos != std::string::npos)      LinkAddr.resize(SlashPos);    // Trim the executable name off...    return LinkAddr; @@ -65,7 +68,7 @@ static char getTypeID(const Type *Ty) {  static ExFunc lookupMethod(const Method *M) {    // Function not found, look it up... start by figuring out what the    // composite function name should be. -  string ExtName = "lle_"; +  std::string ExtName = "lle_";    const MethodType *MT = M->getMethodType();    for (unsigned i = 0; const Type *Ty = MT->getContainedType(i); ++i)      ExtName += getTypeID(Ty); @@ -80,7 +83,7 @@ static ExFunc lookupMethod(const Method *M) {    if (FnPtr == 0)  // Try calling a generic function... if it exists...      FnPtr = (ExFunc)dlsym(RTLD_DEFAULT, ("lle_X_"+M->getName()).c_str());    if (FnPtr != 0) -    Functions.insert(make_pair(M, FnPtr));  // Cache for later +    Functions.insert(std::make_pair(M, FnPtr));  // Cache for later    return FnPtr;  } @@ -90,11 +93,11 @@ GenericValue Interpreter::callExternalMethod(Method *M,    // Do a lookup to see if the method is in our cache... this should just be a    // defered annotation! -  map<const Method *, ExFunc>::iterator FI = Functions.find(M); +  std::map<const Method *, ExFunc>::iterator FI = Functions.find(M);    ExFunc Fn = (FI == Functions.end()) ? lookupMethod(M) : FI->second;    if (Fn == 0) {      cout << "Tried to execute an unknown external method: " -	 << M->getType()->getDescription() << " " << M->getName() << endl; +	 << M->getType()->getDescription() << " " << M->getName() << "\n";      return GenericValue();    } @@ -177,13 +180,13 @@ GenericValue lle_Vb_putchar(MethodType *M, const vector<GenericValue> &Args) {  // int "putchar"(int)  GenericValue lle_ii_putchar(MethodType *M, const vector<GenericValue> &Args) { -  cout << ((char)Args[0].IntVal) << flush; +  cout << ((char)Args[0].IntVal) << std::flush;    return Args[0];  }  // void "putchar"(ubyte)  GenericValue lle_VB_putchar(MethodType *M, const vector<GenericValue> &Args) { -  cout << Args[0].SByteVal << flush; +  cout << Args[0].SByteVal << std::flush;    return Args[0];  } diff --git a/llvm/lib/ExecutionEngine/Interpreter/Interpreter.h b/llvm/lib/ExecutionEngine/Interpreter/Interpreter.h index 44b382bd9f0..ffe10015978 100644 --- a/llvm/lib/ExecutionEngine/Interpreter/Interpreter.h +++ b/llvm/lib/ExecutionEngine/Interpreter/Interpreter.h @@ -41,7 +41,7 @@ union GenericValue {    PointerTy       PointerVal;  }; -typedef vector<GenericValue> ValuePlaneTy; +typedef std::vector<GenericValue> ValuePlaneTy;  // ExecutionContext struct - This struct represents one stack frame currently  // executing. @@ -51,7 +51,7 @@ struct ExecutionContext {    BasicBlock           *CurBB;      // The currently executing BB    BasicBlock::iterator  CurInst;    // The next instruction to execute    MethodInfo           *MethInfo;   // The MethInfo annotation for the method -  vector<ValuePlaneTy>  Values;     // ValuePlanes for each type +  std::vector<ValuePlaneTy>  Values;// ValuePlanes for each type    BasicBlock           *PrevBB;     // The previous BB or null if in first BB    CallInst             *Caller;     // Holds the call that called subframes. @@ -69,7 +69,7 @@ class Interpreter {    // The runtime stack of executing code.  The top of the stack is the current    // method record. -  vector<ExecutionContext> ECStack; +  std::vector<ExecutionContext> ECStack;  public:    Interpreter(); @@ -86,24 +86,24 @@ public:    void handleUserInput();    // User Interation Methods... -  void loadModule(const string &Filename); +  void loadModule(const std::string &Filename);    bool flushModule(); -  bool callMethod(const string &Name);      // return true on failure -  void setBreakpoint(const string &Name); -  void infoValue(const string &Name); -  void print(const string &Name); +  bool callMethod(const std::string &Name);      // return true on failure +  void setBreakpoint(const std::string &Name); +  void infoValue(const std::string &Name); +  void print(const std::string &Name);    static void print(const Type *Ty, GenericValue V);    static void printValue(const Type *Ty, GenericValue V);    // Hack until we can parse command line args... -  bool callMainMethod(const string &MainName, -                      const vector<string> &InputFilename); +  bool callMainMethod(const std::string &MainName, +                      const std::vector<std::string> &InputFilename);    void list();             // Do the 'list' command    void printStackTrace();  // Do the 'backtrace' command    // Code execution methods... -  void callMethod        (Method *Meth, const vector<GenericValue> &ArgVals); +  void callMethod(Method *Meth, const std::vector<GenericValue> &ArgVals);    bool executeInstruction(); // Execute one instruction...    void stepInstruction();  // Do the 'step' command @@ -117,7 +117,7 @@ public:    void executeBrInst(BranchInst *I, ExecutionContext &SF);    void executeAllocInst(AllocationInst *I, ExecutionContext &SF);    GenericValue callExternalMethod(Method *Meth,  -                                  const vector<GenericValue> &ArgVals); +                                  const std::vector<GenericValue> &ArgVals);    void exitCalled(GenericValue GV);    // getCurrentMethod - Return the currently executing method @@ -134,7 +134,7 @@ private:  // Helper functions    // getCurrentExecutablePath() - Return the directory that the lli executable    // lives in.    // -  string getCurrentExecutablePath() const; +  std::string getCurrentExecutablePath() const;    // printCurrentInstruction - Print out the instruction that the virtual PC is    // at, or fail silently if no program is running. @@ -151,13 +151,14 @@ private:  // Helper functions    // matches to that name.  This is obviously slow, and should only be used for    // user interaction.    // -  vector<Value*> LookupMatchingNames(const string &Name); +  std::vector<Value*> LookupMatchingNames(const std::string &Name);    // ChooseOneOption - Prompt the user to choose among the specified options to    // pick one value.  If no options are provided, emit an error.  If a single     // option is provided, just return that option.    // -  Value *ChooseOneOption(const string &Name, const vector<Value*> &Opts); +  Value *ChooseOneOption(const std::string &Name, +                         const std::vector<Value*> &Opts);    void initializeExecutionEngine(); diff --git a/llvm/lib/ExecutionEngine/Interpreter/Support.cpp b/llvm/lib/ExecutionEngine/Interpreter/Support.cpp index a619304c62b..ca89ae33332 100644 --- a/llvm/lib/ExecutionEngine/Interpreter/Support.cpp +++ b/llvm/lib/ExecutionEngine/Interpreter/Support.cpp @@ -7,13 +7,15 @@  #include "Interpreter.h"  #include "llvm/SymbolTable.h"  #include "llvm/Assembly/Writer.h" +#include <iostream> +using std::cout;  //===----------------------------------------------------------------------===//  //  // LookupMatchingNames helper - Search a symbol table for values matching Name.  // -static inline void LookupMatchingNames(const string &Name, SymTabValue &STV, -				       vector<Value*> &Results) { +static inline void LookupMatchingNames(const std::string &Name,SymTabValue &STV, +				       std::vector<Value*> &Results) {    SymbolTable *SymTab = STV.getSymbolTable();    if (SymTab == 0) return;                         // No symbolic values :( @@ -34,8 +36,8 @@ static inline void LookupMatchingNames(const string &Name, SymTabValue &STV,  // matches to that name.  This is obviously slow, and should only be used for  // user interaction.  // -vector<Value*> Interpreter::LookupMatchingNames(const string &Name) { -  vector<Value*> Results; +std::vector<Value*> Interpreter::LookupMatchingNames(const std::string &Name) { +  std::vector<Value*> Results;    Method *CurMeth = getCurrentMethod();    if (CurMeth) ::LookupMatchingNames(Name, *CurMeth, Results); @@ -47,8 +49,8 @@ vector<Value*> Interpreter::LookupMatchingNames(const string &Name) {  // pick one value.  If no options are provided, emit an error.  If a single   // option is provided, just return that option.  // -Value *Interpreter::ChooseOneOption(const string &Name, -				    const vector<Value*> &Opts) { +Value *Interpreter::ChooseOneOption(const std::string &Name, +				    const std::vector<Value*> &Opts) {    switch (Opts.size()) {    case 1: return Opts[0];    case 0:  @@ -61,16 +63,16 @@ Value *Interpreter::ChooseOneOption(const string &Name,    cout << "  0. Cancel operation\n";    for (unsigned i = 0; i < Opts.size(); ++i) {      cout << "  " << (i+1) << "."; -    WriteAsOperand(cout, Opts[i]) << endl; +    WriteAsOperand(cout, Opts[i]) << "\n";    }    unsigned Option;    do { -    cout << "lli> " << flush; -    cin >> Option; +    cout << "lli> " << std::flush; +    std::cin >> Option;      if (Option > Opts.size())        cout << "Invalid selection: Please choose from 0 to " << Opts.size() -	   << endl; +	   << "\n";    } while (Option > Opts.size());    if (Option == 0) return 0; diff --git a/llvm/lib/ExecutionEngine/Interpreter/UserInput.cpp b/llvm/lib/ExecutionEngine/Interpreter/UserInput.cpp index 179b97d277f..1cd8b08c1fd 100644 --- a/llvm/lib/ExecutionEngine/Interpreter/UserInput.cpp +++ b/llvm/lib/ExecutionEngine/Interpreter/UserInput.cpp @@ -10,6 +10,9 @@  #include "llvm/DerivedTypes.h"  #include "llvm/Transforms/Linker.h"  #include <algorithm> +using std::string; +using std::cout; +using std::cin;  enum CommandID {    Quit, Help,                                 // Basics @@ -69,14 +72,14 @@ void Interpreter::handleUserInput() {    bool UserQuit = false;    // Sort the table... -  sort(CommandTable, CommandTableEnd); +  std::sort(CommandTable, CommandTableEnd);    // Print the instruction that we are stopped at...    printCurrentInstruction();    do {      string Command; -    cout << "lli> " << flush; +    cout << "lli> " << std::flush;      cin >> Command;      CommandTableElement *E = find(CommandTable, CommandTableEnd, Command); @@ -164,11 +167,11 @@ void Interpreter::loadModule(const string &Filename) {    if (Module *SupportLib = ParseBytecodeFile(RuntimeLib, &ErrorMsg)) {      if (LinkModules(CurMod, SupportLib, &ErrorMsg)) -      cerr << "Error Linking runtime library into current module: " -           << ErrorMsg << endl; +      std::cerr << "Error Linking runtime library into current module: " +                << ErrorMsg << "\n";    } else { -    cerr << "Error loading runtime library '"+RuntimeLib+"': " -         << ErrorMsg << "\n"; +    std::cerr << "Error loading runtime library '"+RuntimeLib+"': " +              << ErrorMsg << "\n";    }  } @@ -208,7 +211,7 @@ void Interpreter::setBreakpoint(const string &Name) {  // callMethod - Enter the specified method...  //  bool Interpreter::callMethod(const string &Name) { -  vector<Value*> Options = LookupMatchingNames(Name); +  std::vector<Value*> Options = LookupMatchingNames(Name);    for (unsigned i = 0; i < Options.size(); ++i) { // Remove nonmethod matches...      if (!isa<Method>(Options[i])) { @@ -223,7 +226,7 @@ bool Interpreter::callMethod(const string &Name) {    Method *M = cast<Method>(PickedMeth); -  vector<GenericValue> Args; +  std::vector<GenericValue> Args;    // TODO, get args from user...    callMethod(M, Args);  // Start executing it... @@ -234,7 +237,7 @@ bool Interpreter::callMethod(const string &Name) {    return false;  } -static void *CreateArgv(const vector<string> &InputArgv) { +static void *CreateArgv(const std::vector<string> &InputArgv) {    // Pointers are 64 bits...    uint64_t *Result = new PointerTy[InputArgv.size()+1]; @@ -255,8 +258,8 @@ static void *CreateArgv(const vector<string> &InputArgv) {  // callMethod can parse command line options and stuff for us.  //  bool Interpreter::callMainMethod(const string &Name, -                                 const vector<string> &InputArgv) { -  vector<Value*> Options = LookupMatchingNames(Name); +                                 const std::vector<string> &InputArgv) { +  std::vector<Value*> Options = LookupMatchingNames(Name);    for (unsigned i = 0; i < Options.size(); ++i) { // Remove nonmethod matches...      if (!isa<Method>(Options[i])) { @@ -272,7 +275,7 @@ bool Interpreter::callMainMethod(const string &Name,    Method *M = cast<Method>(PickedMeth);    const MethodType *MT = M->getMethodType(); -  vector<GenericValue> Args; +  std::vector<GenericValue> Args;    switch (MT->getParamTypes().size()) {    default:      cout << "Unknown number of arguments to synthesize for '" << Name << "'!\n";  | 

