aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChris Lattner <sabre@nondot.org>2005-01-29 18:41:00 +0000
committerChris Lattner <sabre@nondot.org>2005-01-29 18:41:00 +0000
commit38653f0ac83b793142cd0f3000ba5b1667b08a80 (patch)
treef31f2acabf80c26fdad3d93a75827fc4e4ec2316
parented4d467c690b549f2cc9721abcc0dbb07291678f (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.h5
-rw-r--r--include/llvm/Function.h11
-rw-r--r--include/llvm/Module.h10
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);
};