Adjust to changes in ilist

llvm-svn: 19922
This commit is contained in:
Chris Lattner 2005-01-29 18:41:00 +00:00
parent 02ccc2d7a0
commit f84ecca5f3
3 changed files with 15 additions and 11 deletions

View File

@ -40,8 +40,9 @@ template <class Ptr, class USE_iterator> class PredIterator;
template<> struct ilist_traits<Instruction> template<> struct ilist_traits<Instruction>
: public SymbolTableListTraits<Instruction, BasicBlock, Function> { : public SymbolTableListTraits<Instruction, BasicBlock, Function> {
// createNode is used to create a node that marks the end of the list... // createSentinal is used to create a node that marks the end of the list...
static Instruction *createNode(); static Instruction *createSentinal();
static void destroySentinal(Instruction *I) { delete I; }
static iplist<Instruction> &getList(BasicBlock *BB); static iplist<Instruction> &getList(BasicBlock *BB);
}; };

View File

@ -31,17 +31,18 @@ class FunctionType;
template<> struct ilist_traits<BasicBlock> template<> struct ilist_traits<BasicBlock>
: public SymbolTableListTraits<BasicBlock, Function, Function> { : public SymbolTableListTraits<BasicBlock, Function, Function> {
// createNode is used to create a node that marks the end of the list... // createSentinal is used to create a node that marks the end of the list...
static BasicBlock *createNode(); static BasicBlock *createSentinal();
static void destroySentinal(BasicBlock *BB) { delete BB; }
static iplist<BasicBlock> &getList(Function *F); static iplist<BasicBlock> &getList(Function *F);
}; };
template<> struct ilist_traits<Argument> template<> struct ilist_traits<Argument>
: public SymbolTableListTraits<Argument, Function, Function> { : public SymbolTableListTraits<Argument, Function, Function> {
// createNode is used to create a node that marks the end of the list... // createSentinal is used to create a node that marks the end of the list...
static Argument *createNode(); static Argument *createSentinal();
static void destroySentinal(Argument *A) { delete A; }
static iplist<Argument> &getList(Function *F); static iplist<Argument> &getList(Function *F);
}; };

View File

@ -32,14 +32,16 @@ class SymbolTable;
template<> struct ilist_traits<Function> template<> struct ilist_traits<Function>
: public SymbolTableListTraits<Function, Module, Module> { : public SymbolTableListTraits<Function, Module, Module> {
// createNode is used to create a node that marks the end of the list... // createSentinal is used to create a node that marks the end of the list.
static Function *createNode(); static Function *createSentinal();
static void destroySentinal(Function *F) { delete F; }
static iplist<Function> &getList(Module *M); static iplist<Function> &getList(Module *M);
}; };
template<> struct ilist_traits<GlobalVariable> template<> struct ilist_traits<GlobalVariable>
: public SymbolTableListTraits<GlobalVariable, Module, Module> { : public SymbolTableListTraits<GlobalVariable, Module, Module> {
// createNode is used to create a node that marks the end of the list... // createSentinal is used to create a node that marks the end of the list.
static GlobalVariable *createNode(); static GlobalVariable *createSentinal();
static void destroySentinal(GlobalVariable *GV) { delete GV; }
static iplist<GlobalVariable> &getList(Module *M); static iplist<GlobalVariable> &getList(Module *M);
}; };