From: Chris Lattner Date: Tue, 9 Apr 2002 19:39:35 +0000 (+0000) Subject: Move FunctionArgument out of iOther.h into Argument.h and rename class to X-Git-Url: http://demsky.eecs.uci.edu/git/?a=commitdiff_plain;h=80dd50b4aaee0ae609d21f8dded9c3af1e801b9e;p=oota-llvm.git Move FunctionArgument out of iOther.h into Argument.h and rename class to be 'Argument' instead of FunctionArgument. Move Argument implementation to Function.cpp git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2211 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/lib/VMCore/Function.cpp b/lib/VMCore/Function.cpp index f2e6bd5c64e..598f9fd0c24 100644 --- a/lib/VMCore/Function.cpp +++ b/lib/VMCore/Function.cpp @@ -12,8 +12,25 @@ #include "llvm/GlobalVariable.h" #include "llvm/BasicBlock.h" #include "llvm/iOther.h" +#include "llvm/Argument.h" #include "ValueHolderImpl.h" +//===----------------------------------------------------------------------===// +// Argument Implementation +//===----------------------------------------------------------------------===// + +// Specialize setName to take care of symbol table majik +void Argument::setName(const std::string &name, SymbolTable *ST) { + Function *P; + assert((ST == 0 || (!getParent() || ST == getParent()->getSymbolTable())) && + "Invalid symtab argument!"); + if ((P = getParent()) && hasName()) P->getSymbolTable()->remove(this); + Value::setName(name); + if (P && hasName()) P->getSymbolTable()->insert(this); +} + + + //===----------------------------------------------------------------------===// // Function Implementation //===----------------------------------------------------------------------===// @@ -22,8 +39,8 @@ // Instantiate Templates - This ugliness is the price we have to pay // for having a ValueHolderImpl.h file seperate from ValueHolder.h! :( // -template class ValueHolder; -template class ValueHolder; +template class ValueHolder; +template class ValueHolder; Function::Function(const FunctionType *Ty, bool isInternal, const std::string &name)