*** empty log message ***
authorChris Lattner <sabre@nondot.org>
Wed, 24 Jul 2002 22:08:53 +0000 (22:08 +0000)
committerChris Lattner <sabre@nondot.org>
Wed, 24 Jul 2002 22:08:53 +0000 (22:08 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3065 91177308-0d34-0410-b5e6-96231b3b80d8

13 files changed:
include/llvm/Analysis/ConstantsScanner.h
include/llvm/Support/CFG.h
lib/Bytecode/Writer/SlotCalculator.cpp
lib/VMCore/Constants.cpp
lib/VMCore/Function.cpp
lib/VMCore/InstrTypes.cpp
lib/VMCore/Pass.cpp
lib/VMCore/PassManagerT.h
lib/VMCore/SlotCalculator.cpp
lib/VMCore/SymbolTableListTraitsImpl.h
lib/VMCore/Type.cpp
lib/VMCore/Value.cpp
lib/VMCore/iMemory.cpp

index ca0a80e31e9a0f51d4fae8b8751a4354491f6b26..5e0ee61636da4561d640189b8a91b56ae6112b8d 100644 (file)
 
 #include "llvm/Support/InstIterator.h"
 #include "llvm/Instruction.h"
-#include <iterator>
+#include <Support/iterator>
 class Constant;
 
-class constant_iterator
-  : public std::forward_iterator<const Constant, ptrdiff_t> {
+class constant_iterator : public forward_iterator<const Constant, ptrdiff_t> {
   const_inst_iterator InstI;                // Method instruction iterator
   unsigned OpIdx;                           // Operand index
 
index c2a4775e874fe2a02a875859d67db0c6433ef72d..e38295ce8b7808152582ef70a105072a032b2f40 100644 (file)
 #include "llvm/Function.h"
 #include "llvm/BasicBlock.h"
 #include "llvm/InstrTypes.h"
-#include <iterator>
+#include "Support/iterator"
 
 //===--------------------------------------------------------------------===//
 // BasicBlock pred_iterator definition
 //===--------------------------------------------------------------------===//
 
 template <class _Ptr,  class _USE_iterator> // Predecessor Iterator
-class PredIterator : public std::bidirectional_iterator<_Ptr, ptrdiff_t> {
+class PredIterator : public bidirectional_iterator<_Ptr, ptrdiff_t> {
+  typedef bidirectional_iterator<_Ptr, ptrdiff_t> super;
   _Ptr *BB;
   _USE_iterator It;
 public:
   typedef PredIterator<_Ptr,_USE_iterator> _Self;
+  typedef typename super::pointer pointer;
   
   inline void advancePastConstants() {
     // TODO: This is bad
@@ -82,11 +84,13 @@ inline pred_const_iterator pred_end(const BasicBlock *BB) {
 //===--------------------------------------------------------------------===//
 
 template <class _Term, class _BB>           // Successor Iterator
-class SuccIterator : public std::bidirectional_iterator<_BB, ptrdiff_t> {
+class SuccIterator : public bidirectional_iterator<_BB, ptrdiff_t> {
   const _Term Term;
   unsigned idx;
+  typedef bidirectional_iterator<_BB, ptrdiff_t> super;
 public:
   typedef SuccIterator<_Term, _BB> _Self;
+  typedef typename super::pointer pointer;
   // TODO: This can be random access iterator, need operator+ and stuff tho
     
   inline SuccIterator(_Term T) : Term(T), idx(0) {         // begin iterator
index 6b83a116e5202c86bbe871fb479b2a8f661f7cb3..f0a549e81cc8d6e5a2e8bde0e908ec03ffe8ff79 100644 (file)
@@ -250,7 +250,7 @@ int SlotCalculator::insertValue(const Value *D) {
 }
 
 
-int SlotCalculator::insertVal(const Value *D, bool dontIgnore = false) {
+int SlotCalculator::insertVal(const Value *D, bool dontIgnore) {
   assert(D && "Can't insert a null value!");
   assert(getValSlot(D) == -1 && "Value is already in the table!");
 
index bc521d7686de23d3400e67a8784e68a6134bdfaa..234b64705b923894b9dbe18b35af7462b66a86d1 100644 (file)
@@ -255,7 +255,7 @@ struct ValueMap {
   map<ConstHashKey, ConstantClass *> Map;
 
   inline ConstantClass *get(const Type *Ty, ValType V) {
-    map<ConstHashKey,ConstantClass *>::iterator I =
+    typename map<ConstHashKey,ConstantClass *>::iterator I =
       Map.find(ConstHashKey(Ty, V));
     return (I != Map.end()) ? I->second : 0;
   }
@@ -265,7 +265,7 @@ struct ValueMap {
   }
 
   inline void remove(ConstantClass *CP) {
-    for (map<ConstHashKey,ConstantClass *>::iterator I = Map.begin(),
+    for (typename map<ConstHashKey,ConstantClass *>::iterator I = Map.begin(),
                                                       E = Map.end(); I != E;++I)
       if (I->second == CP) {
        Map.erase(I);
index f7d7953aabeeda47469705c684d336d0b77f3471..591bd9009f34b8bdb2ed9793fc5e941df6502a15 100644 (file)
@@ -136,8 +136,8 @@ void Function::dropAllReferences() {
 //===----------------------------------------------------------------------===//
 
 GlobalVariable::GlobalVariable(const Type *Ty, bool constant, bool isIntern,
-                              Constant *Initializer = 0,
-                              const std::string &Name = "")
+                              Constant *Initializer,
+                              const std::string &Name)
   : GlobalValue(PointerType::get(Ty), Value::GlobalVariableVal, isIntern, Name),
     isConstantGlobal(constant) {
   if (Initializer) Operands.push_back(Use((Value*)Initializer, this));
index d167669edd8be8758047a32c339f73218a9f55da..954719aa95070aae6b73a402213c899122b10670 100644 (file)
@@ -20,7 +20,7 @@ TerminatorInst::TerminatorInst(Instruction::TermOps iType)
 }
 
 TerminatorInst::TerminatorInst(const Type *Ty, Instruction::TermOps iType,
-                              const std::string &Name = "")
+                              const std::string &Name)
   : Instruction(Ty, iType, Name) {
 }
 
index 2480d70bb2fbd53cef0257d2080ab0b826ac5fc2..d8315609931ea895ba5cc41436d94d7e00d4a5ae 100644 (file)
@@ -199,7 +199,7 @@ void PMDebug::PrintAnalysisSetInfo(unsigned Depth, const char *Msg,
 }
 
 // dumpPassStructure - Implement the -debug-passes=Structure option
-void Pass::dumpPassStructure(unsigned Offset = 0) {
+void Pass::dumpPassStructure(unsigned Offset) {
   std::cerr << std::string(Offset*2, ' ') << getPassName() << "\n";
 }
 
index 593e7e09eed5a700fd81c0361a30cc53b0faf494..fb8c08ea6d28d5a80ebc6a98a143ac73164eb3c9 100644 (file)
@@ -105,8 +105,8 @@ public:
   PassManagerT(ParentClass *Par = 0) : Parent(Par), Batcher(0) {}
   ~PassManagerT() {
     // Delete all of the contained passes...
-    for (std::vector<PassClass*>::iterator I = Passes.begin(), E = Passes.end();
-         I != E; ++I)
+    for (typename std::vector<PassClass*>::iterator
+           I = Passes.begin(), E = Passes.end(); I != E; ++I)
       delete *I;
   }
 
@@ -205,8 +205,8 @@ public:
   virtual void dumpPassStructure(unsigned Offset = 0) {
     std::cerr << std::string(Offset*2, ' ') << Traits::getPMName()
               << " Pass Manager\n";
-    for (std::vector<PassClass*>::iterator I = Passes.begin(), E = Passes.end();
-         I != E; ++I) {
+    for (typename std::vector<PassClass*>::iterator
+           I = Passes.begin(), E = Passes.end(); I != E; ++I) {
       PassClass *P = *I;
       P->dumpPassStructure(Offset+1);
 
index 6b83a116e5202c86bbe871fb479b2a8f661f7cb3..f0a549e81cc8d6e5a2e8bde0e908ec03ffe8ff79 100644 (file)
@@ -250,7 +250,7 @@ int SlotCalculator::insertValue(const Value *D) {
 }
 
 
-int SlotCalculator::insertVal(const Value *D, bool dontIgnore = false) {
+int SlotCalculator::insertVal(const Value *D, bool dontIgnore) {
   assert(D && "Can't insert a null value!");
   assert(getValSlot(D) == -1 && "Value is already in the table!");
 
index a9971c8bbbaa63e5b2ffe0bb46be1b5d51305db6..36b08ab9f6fa9090f6fc4c88873670ec9dce715b 100644 (file)
@@ -21,7 +21,8 @@ void SymbolTableListTraits<ValueSubClass,ItemParentClass,SymTabClass,SubClass>
   // Remove all of the items from the old symtab..
   if (SymTabObject && !List.empty()) {
     SymbolTable *SymTab = SymTabObject->getSymbolTable();
-    for (iplist<ValueSubClass>::iterator I = List.begin(); I != List.end(); ++I)
+    for (typename iplist<ValueSubClass>::iterator I = List.begin();
+         I != List.end(); ++I)
       if (I->hasName()) SymTab->remove(I);
   }
 
@@ -30,7 +31,8 @@ void SymbolTableListTraits<ValueSubClass,ItemParentClass,SymTabClass,SubClass>
   // Add all of the items to the new symtab...
   if (SymTabObject && !List.empty()) {
     SymbolTable *SymTab = SymTabObject->getSymbolTableSure();
-    for (iplist<ValueSubClass>::iterator I = List.begin(); I != List.end(); ++I)
+    for (typename iplist<ValueSubClass>::iterator I = List.begin();
+         I != List.end(); ++I)
       if (I->hasName()) SymTab->insert(I);
   }
 }
index d193a38ed6f5108fdf829ca14e7537453836b1f5..e4a0dcae7655355b856fc33e36c1d5924d8a3a0e 100644 (file)
@@ -431,7 +431,7 @@ public:
   ~TypeMap() { print("ON EXIT"); }
 
   inline TypeClass *get(const ValType &V) {
-    map<ValType, PATypeHandle<TypeClass> >::iterator I = Map.find(V);
+    typename map<ValType, PATypeHandle<TypeClass> >::iterator I = Map.find(V);
     // TODO: FIXME: When Types are not CONST.
     return (I != Map.end()) ? (TypeClass*)I->second.get() : 0;
   }
@@ -445,7 +445,7 @@ public:
   // structurally equivalent to the specified type.
   //
   inline const TypeClass *containsEquivalent(const TypeClass *Ty) {
-    for (MapTy::iterator I = Map.begin(), E = Map.end(); I != E; ++I)
+    for (typename MapTy::iterator I = Map.begin(), E = Map.end(); I != E; ++I)
       if (I->second.get() != Ty && TypesEqual(Ty, I->second.get()))
        return (TypeClass*)I->second.get();  // FIXME TODO when types not const
     return 0;
@@ -462,7 +462,7 @@ public:
         << OldTy->getDescription() << "  replacement == " << (void*)NewTy
         << ", " << NewTy->getDescription() << endl;
 #endif
-    for (MapTy::iterator I = Map.begin(), E = Map.end(); I != E; ++I)
+    for (typename MapTy::iterator I = Map.begin(), E = Map.end(); I != E; ++I)
       if (I->second == OldTy) {
         // Check to see if the type just became concrete.  If so, remove self
         // from user list.
@@ -472,7 +472,7 @@ public:
   }
 
   void remove(const ValType &OldVal) {
-    MapTy::iterator I = Map.find(OldVal);
+    typename MapTy::iterator I = Map.find(OldVal);
     assert(I != Map.end() && "TypeMap::remove, element not found!");
     Map.erase(I);
   }
index da3d87f9d2e7b7c4d623b7630a1767db3e738e33..ad2b18066843a36c766047df8010a44ca3e866b9 100644 (file)
@@ -18,7 +18,7 @@ static inline const Type *checkType(const Type *Ty) {
   return Ty;
 }
 
-Value::Value(const Type *ty, ValueTy vty, const std::string &name = "")
+Value::Value(const Type *ty, ValueTy vty, const std::string &name)
   : Name(name), Ty(checkType(ty), this) {
   VTy = vty;
 }
@@ -33,11 +33,9 @@ Value::~Value() {
   //
   if (Uses.begin() != Uses.end()) {
     std::cerr << "While deleting: " << Ty << "%" << Name << "\n";
-    for (use_const_iterator I = Uses.begin(); I != Uses.end(); ++I) {
-      std::cerr << "Use still stuck around after Def is destroyed:";
-      (*I)->dump();
-      std::cerr << "\n";
-    }
+    for (use_const_iterator I = Uses.begin(); I != Uses.end(); ++I)
+      std::cerr << "Use still stuck around after Def is destroyed:"
+                << **I << "\n";
   }
 #endif
   assert(Uses.begin() == Uses.end());
@@ -56,12 +54,8 @@ void Value::replaceAllUsesWith(Value *D) {
     Use->replaceUsesOfWith(this, D);
 
 #ifndef NDEBUG      // only in -g mode...
-    if (Uses.size() == NumUses) {
-      std::cerr << "Use: ";
-      Use->dump();
-      std::cerr << "replace with: ";
-      D->dump(); 
-    }
+    if (Uses.size() == NumUses)
+      std::cerr << "Use: " << *Use << "replace with: " << *D;
 #endif
     assert(Uses.size() != NumUses && "Didn't remove definition!");
   }
@@ -73,7 +67,7 @@ void Value::replaceAllUsesWith(Value *D) {
 // change Ty to point to the right type.  :)
 //
 void Value::refineAbstractType(const DerivedType *OldTy, const Type *NewTy) {
-  assert(Ty.get() == OldTy &&"Can't refine anything but my type!");
+  assert(Ty.get() == OldTy && "Can't refine anything but my type!");
   if (OldTy == NewTy && !OldTy->isAbstract())
     Ty.removeUserFromConcrete();
   Ty = NewTy;
index 3d0c753d9f3cff0862f23ad68f33e592c3306114..87b5095b0f60317f6b0946f86973337512b98cbd 100644 (file)
@@ -14,7 +14,7 @@ static inline const Type *checkType(const Type *Ty) {
 }
 
 AllocationInst::AllocationInst(const Type *Ty, Value *ArraySize, unsigned iTy, 
-                               const std::string &Name = "")
+                               const std::string &Name)
   : Instruction(Ty, iTy, Name) {
   assert(isa<PointerType>(Ty) && "Can't allocate a non pointer type!");
 
@@ -50,7 +50,7 @@ const Type *AllocationInst::getAllocatedType() const {
 //
 const Type* MemAccessInst::getIndexedType(const Type *Ptr, 
                                          const std::vector<Value*> &Idx,
-                                         bool AllowCompositeLeaf = false) {
+                                         bool AllowCompositeLeaf) {
   if (!isa<PointerType>(Ptr)) return 0;   // Type isn't a pointer type!
 
   // Handle the special case of the empty set index set...
@@ -76,7 +76,7 @@ const Type* MemAccessInst::getIndexedType(const Type *Ptr,
 //===----------------------------------------------------------------------===//
 
 LoadInst::LoadInst(Value *Ptr, const std::vector<Value*> &Idx,
-                  const std::string &Name = "")
+                  const std::string &Name)
   : MemAccessInst(checkType(getIndexedType(Ptr->getType(), Idx)), Load, Name) {
   assert(getIndexedType(Ptr->getType(), Idx) && "Load operands invalid!");
   Operands.reserve(1+Idx.size());
@@ -87,7 +87,7 @@ LoadInst::LoadInst(Value *Ptr, const std::vector<Value*> &Idx,
   
 }
 
-LoadInst::LoadInst(Value *Ptr, const std::string &Name = "")
+LoadInst::LoadInst(Value *Ptr, const std::string &Name)
   : MemAccessInst(cast<PointerType>(Ptr->getType())->getElementType(),
                   Load, Name) {
   Operands.reserve(1);
@@ -125,7 +125,7 @@ StoreInst::StoreInst(Value *Val, Value *Ptr)
 //===----------------------------------------------------------------------===//
 
 GetElementPtrInst::GetElementPtrInst(Value *Ptr, const std::vector<Value*> &Idx,
-                                    const std::string &Name = "")
+                                    const std::string &Name)
   : MemAccessInst(PointerType::get(checkType(getIndexedType(Ptr->getType(),
                                                             Idx, true))),
                  GetElementPtr, Name) {