From 59dc98de2f79c027eb6860443daee260710b1405 Mon Sep 17 00:00:00 2001 From: Gabor Greif Date: Fri, 14 Mar 2008 22:03:02 +0000 Subject: [PATCH] move the Use destructor where it belongs to git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48376 91177308-0d34-0410-b5e6-96231b3b80d8 --- include/llvm/Use.h | 4 +++- include/llvm/Value.h | 6 +----- 2 files changed, 4 insertions(+), 6 deletions(-) diff --git a/include/llvm/Use.h b/include/llvm/Use.h index c5a3212ed83..c81a903e8b0 100644 --- a/include/llvm/Use.h +++ b/include/llvm/Use.h @@ -37,7 +37,9 @@ public: Use(Value *V, User *U) { init(V, U); } Use(const Use &U) { init(U.Val, U.U); } - inline ~Use(); + inline ~Use() { + if (Val) removeFromList(); + } /// Default ctor - This leaves the Use completely unitialized. The only thing /// that is valid to do with this use is to call the "init" method. diff --git a/include/llvm/Value.h b/include/llvm/Value.h index 0e9d2f1c73d..4604dae6ed9 100644 --- a/include/llvm/Value.h +++ b/include/llvm/Value.h @@ -46,7 +46,7 @@ typedef StringMapEntry ValueName; /// the super class of other important classes such as Instruction and Function. /// All Values have a Type. Type is not a subclass of Value. All types can have /// a name and they should belong to some Module. Setting the name on the Value -/// automatically update's the module's symbol table. +/// automatically updates the module's symbol table. /// /// Every value has a "use list" that keeps track of which other Values are /// using this Value. @@ -229,10 +229,6 @@ void Use::init(Value *v, User *user) { if (Val) Val->addUse(*this); } -Use::~Use() { - if (Val) removeFromList(); -} - void Use::set(Value *V) { if (Val) removeFromList(); Val = V;