X-Git-Url: http://demsky.eecs.uci.edu/git/?a=blobdiff_plain;f=include%2Fllvm%2FGlobalVariable.h;h=3bf82492bca89b88812311f9c059c906ae4239fd;hb=f0338331098e2d1c887a0a6b4cf87f1ddfd2b792;hp=87df5d514fdb549fb5bc33cd37747d28e1439d28;hpb=c5f24a2c2a16681f7816ac053c8f46a2692a3b7a;p=oota-llvm.git diff --git a/include/llvm/GlobalVariable.h b/include/llvm/GlobalVariable.h index 87df5d514fd..3bf82492bca 100644 --- a/include/llvm/GlobalVariable.h +++ b/include/llvm/GlobalVariable.h @@ -49,22 +49,25 @@ class GlobalVariable : public GlobalValue { public: /// GlobalVariable ctor - If a parent module is specified, the global is /// automatically inserted into the end of the specified modules global list. - /// GlobalVariable(const Type *Ty, bool isConstant, LinkageTypes Linkage, Constant *Initializer = 0, const std::string &Name = "", Module *Parent = 0); - - /// isExternal - Is this global variable lacking an initializer? If so, the - /// global variable is defined in some other translation unit, and is thus - /// externally defined here. - /// - virtual bool isExternal() const { return getNumOperands() == 0; } + /// GlobalVariable ctor - This creates a global and inserts it before the + /// specified other global. + GlobalVariable(const Type *Ty, bool isConstant, LinkageTypes Linkage, + Constant *Initializer, const std::string &Name, + GlobalVariable *InsertBefore); + + /// isDeclaration - Is this global variable lacking an initializer? If so, + /// the global variable is defined in some other translation unit, and is thus + /// only a declaration here. + virtual bool isDeclaration() const { return getNumOperands() == 0; } /// hasInitializer - Unless a global variable isExternal(), it has an /// initializer. The initializer for the global variable/constant is held by /// Initializer if an initializer is specified. /// - inline bool hasInitializer() const { return !isExternal(); } + inline bool hasInitializer() const { return !isDeclaration(); } /// getInitializer - Return the initializer for this global variable. It is /// illegal to call this method if the global is external, because we cannot @@ -119,6 +122,7 @@ public: virtual void replaceUsesOfWithOnConstant(Value *From, Value *To, Use *U); virtual void print(std::ostream &OS) const; + void print(std::ostream *OS) const { if (OS) print(*OS); } // Methods for support type inquiry through isa, cast, and dyn_cast: static inline bool classof(const GlobalVariable *) { return true; }