diff options
Diffstat (limited to 'clang/lib/CodeGen/CodeGenModule.h')
-rw-r--r-- | clang/lib/CodeGen/CodeGenModule.h | 23 |
1 files changed, 17 insertions, 6 deletions
diff --git a/clang/lib/CodeGen/CodeGenModule.h b/clang/lib/CodeGen/CodeGenModule.h index c7ef80e..be45bb8 100644 --- a/clang/lib/CodeGen/CodeGenModule.h +++ b/clang/lib/CodeGen/CodeGenModule.h @@ -94,6 +94,11 @@ class FunctionArgList; class CoverageMappingModuleGen; class TargetCodeGenInfo; +enum ForDefinition_t : bool { + NotForDefinition = false, + ForDefinition = true +}; + struct OrderGlobalInits { unsigned int priority; unsigned int lex_order; @@ -676,7 +681,9 @@ public: llvm_unreachable("unknown visibility!"); } - llvm::Constant *GetAddrOfGlobal(GlobalDecl GD, bool IsForDefinition = false); + llvm::Constant *GetAddrOfGlobal(GlobalDecl GD, + ForDefinition_t IsForDefinition + = NotForDefinition); /// Will return a global variable of the given type. If a variable with a /// different type already exists then a new variable with the right type @@ -706,14 +713,16 @@ public: /// the same mangled name but some other type. llvm::Constant *GetAddrOfGlobalVar(const VarDecl *D, llvm::Type *Ty = nullptr, - bool IsForDefinition = false); + ForDefinition_t IsForDefinition + = NotForDefinition); /// Return the address of the given function. If Ty is non-null, then this /// function will use the specified type if it has to create it. llvm::Constant *GetAddrOfFunction(GlobalDecl GD, llvm::Type *Ty = nullptr, bool ForVTable = false, bool DontDefer = false, - bool IsForDefinition = false); + ForDefinition_t IsForDefinition + = NotForDefinition); /// Get the address of the RTTI descriptor for the given type. llvm::Constant *GetAddrOfRTTIDescriptor(QualType Ty, bool ForEH = false); @@ -821,7 +830,8 @@ public: getAddrOfCXXStructor(const CXXMethodDecl *MD, StructorType Type, const CGFunctionInfo *FnInfo = nullptr, llvm::FunctionType *FnType = nullptr, - bool DontDefer = false, bool IsForDefinition = false); + bool DontDefer = false, + ForDefinition_t IsForDefinition = NotForDefinition); /// Given a builtin id for a function like "__builtin_fabsf", return a /// Function* for "fabsf". @@ -1151,12 +1161,13 @@ private: bool ForVTable, bool DontDefer = false, bool IsThunk = false, llvm::AttributeSet ExtraAttrs = llvm::AttributeSet(), - bool IsForDefinition = false); + ForDefinition_t IsForDefinition = NotForDefinition); llvm::Constant *GetOrCreateLLVMGlobal(StringRef MangledName, llvm::PointerType *PTy, const VarDecl *D, - bool IsForDefinition = false); + ForDefinition_t IsForDefinition + = NotForDefinition); void setNonAliasAttributes(const Decl *D, llvm::GlobalObject *GO); |