- 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; }
+ Constant *Initializer = 0, const std::string &Name = "",
+ Module *Parent = 0, bool ThreadLocal = false,
+ unsigned AddressSpace = 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, bool ThreadLocal = false,
+ unsigned AddressSpace = 0);
+
+ /// 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; }