diff options
author | Chris Lattner <sabre@nondot.org> | 2005-01-29 18:41:00 +0000 |
---|---|---|
committer | Chris Lattner <sabre@nondot.org> | 2005-01-29 18:41:00 +0000 |
commit | 38653f0ac83b793142cd0f3000ba5b1667b08a80 (patch) | |
tree | f31f2acabf80c26fdad3d93a75827fc4e4ec2316 | |
parent | ed4d467c690b549f2cc9721abcc0dbb07291678f (diff) |
Adjust to changes in ilist
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19922 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r-- | include/llvm/BasicBlock.h | 5 | ||||
-rw-r--r-- | include/llvm/Function.h | 11 | ||||
-rw-r--r-- | include/llvm/Module.h | 10 |
3 files changed, 15 insertions, 11 deletions
diff --git a/include/llvm/BasicBlock.h b/include/llvm/BasicBlock.h index ed9794207a..dc3ef1bccc 100644 --- a/include/llvm/BasicBlock.h +++ b/include/llvm/BasicBlock.h @@ -40,8 +40,9 @@ template <class Ptr, class USE_iterator> class PredIterator; template<> struct ilist_traits<Instruction> : public SymbolTableListTraits<Instruction, BasicBlock, Function> { - // createNode is used to create a node that marks the end of the list... - static Instruction *createNode(); + // createSentinal is used to create a node that marks the end of the list... + static Instruction *createSentinal(); + static void destroySentinal(Instruction *I) { delete I; } static iplist<Instruction> &getList(BasicBlock *BB); }; diff --git a/include/llvm/Function.h b/include/llvm/Function.h index a4545a79ab..88d7d3457f 100644 --- a/include/llvm/Function.h +++ b/include/llvm/Function.h @@ -31,17 +31,18 @@ class FunctionType; template<> struct ilist_traits<BasicBlock> : public SymbolTableListTraits<BasicBlock, Function, Function> { - // createNode is used to create a node that marks the end of the list... - static BasicBlock *createNode(); - + // createSentinal is used to create a node that marks the end of the list... + static BasicBlock *createSentinal(); + static void destroySentinal(BasicBlock *BB) { delete BB; } static iplist<BasicBlock> &getList(Function *F); }; template<> struct ilist_traits<Argument> : public SymbolTableListTraits<Argument, Function, Function> { - // createNode is used to create a node that marks the end of the list... - static Argument *createNode(); + // createSentinal is used to create a node that marks the end of the list... + static Argument *createSentinal(); + static void destroySentinal(Argument *A) { delete A; } static iplist<Argument> &getList(Function *F); }; diff --git a/include/llvm/Module.h b/include/llvm/Module.h index 846b47f057..c53ee4eb9a 100644 --- a/include/llvm/Module.h +++ b/include/llvm/Module.h @@ -32,14 +32,16 @@ class SymbolTable; template<> struct ilist_traits<Function> : public SymbolTableListTraits<Function, Module, Module> { - // createNode is used to create a node that marks the end of the list... - static Function *createNode(); + // createSentinal is used to create a node that marks the end of the list. + static Function *createSentinal(); + static void destroySentinal(Function *F) { delete F; } static iplist<Function> &getList(Module *M); }; template<> struct ilist_traits<GlobalVariable> : public SymbolTableListTraits<GlobalVariable, Module, Module> { - // createNode is used to create a node that marks the end of the list... - static GlobalVariable *createNode(); + // createSentinal is used to create a node that marks the end of the list. + static GlobalVariable *createSentinal(); + static void destroySentinal(GlobalVariable *GV) { delete GV; } static iplist<GlobalVariable> &getList(Module *M); }; |