From: Daniel Dunbar Date: Fri, 29 Aug 2008 07:30:15 +0000 (+0000) Subject: Add GlobalValue::{removeFromParent,eraseFromParent} X-Git-Url: http://demsky.eecs.uci.edu/git/?a=commitdiff_plain;h=71c8c175fb2a477b90efe745aaf48ed9265300a9;p=oota-llvm.git Add GlobalValue::{removeFromParent,eraseFromParent} git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@55529 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/include/llvm/Function.h b/include/llvm/Function.h index f302ff570fc..0e852e6ba1e 100644 --- a/include/llvm/Function.h +++ b/include/llvm/Function.h @@ -228,12 +228,12 @@ public: /// removeFromParent - This method unlinks 'this' from the containing module, /// but does not delete it. /// - void removeFromParent(); + virtual void removeFromParent(); /// eraseFromParent - This method unlinks 'this' from the containing module /// and deletes it. /// - void eraseFromParent(); + virtual void eraseFromParent(); /// Get the underlying elements of the Function... the basic block list is diff --git a/include/llvm/GlobalAlias.h b/include/llvm/GlobalAlias.h index 4dfc9c4d5e0..6dba21bf609 100644 --- a/include/llvm/GlobalAlias.h +++ b/include/llvm/GlobalAlias.h @@ -55,12 +55,12 @@ public: /// removeFromParent - This method unlinks 'this' from the containing module, /// but does not delete it. /// - void removeFromParent(); + virtual void removeFromParent(); /// eraseFromParent - This method unlinks 'this' from the containing module /// and deletes it. /// - void eraseFromParent(); + virtual void eraseFromParent(); /// set/getAliasee - These methods retrive and set alias target. void setAliasee(Constant* GV); diff --git a/include/llvm/GlobalValue.h b/include/llvm/GlobalValue.h index 1fd899ae7b8..f57b23f1d73 100644 --- a/include/llvm/GlobalValue.h +++ b/include/llvm/GlobalValue.h @@ -142,6 +142,14 @@ public: /// value is outside of the current translation unit... virtual bool isDeclaration() const = 0; + /// removeFromParent - This method unlinks 'this' from the containing module, + /// but does not delete it. + virtual void removeFromParent() = 0; + + /// eraseFromParent - This method unlinks 'this' from the containing module + /// and deletes it. + virtual void eraseFromParent() = 0; + /// getParent - Get the module that this global value is contained inside /// of... inline Module *getParent() { return Parent; } diff --git a/include/llvm/GlobalVariable.h b/include/llvm/GlobalVariable.h index aae17e409da..1f9bfd4f508 100644 --- a/include/llvm/GlobalVariable.h +++ b/include/llvm/GlobalVariable.h @@ -122,12 +122,12 @@ public: /// removeFromParent - This method unlinks 'this' from the containing module, /// but does not delete it. /// - void removeFromParent(); + virtual void removeFromParent(); /// eraseFromParent - This method unlinks 'this' from the containing module /// and deletes it. /// - void eraseFromParent(); + virtual void eraseFromParent(); /// Override Constant's implementation of this method so we can /// replace constant initializers.