diff options
author | Anders Carlsson <andersca@mac.com> | 2009-10-07 01:06:45 +0000 |
---|---|---|
committer | Anders Carlsson <andersca@mac.com> | 2009-10-07 01:06:45 +0000 |
commit | b540491851910c2efa68196a8bdc2eed1071c17d (patch) | |
tree | 4b447bf47fdeef16f02a2ca43dcd60828af668a3 /lib/CodeGen/CGCXX.cpp | |
parent | 3d92d8c94e9447a6d903241e180590b4025c5927 (diff) |
Add a MangleContext and pass it to all mangle functions. It will be used for keeping state, such as identifiers assigned to anonymous structs as well as scope encoding.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@83442 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/CodeGen/CGCXX.cpp')
-rw-r--r-- | lib/CodeGen/CGCXX.cpp | 14 |
1 files changed, 7 insertions, 7 deletions
diff --git a/lib/CodeGen/CGCXX.cpp b/lib/CodeGen/CGCXX.cpp index bbaa226c21..506f305bf3 100644 --- a/lib/CodeGen/CGCXX.cpp +++ b/lib/CodeGen/CGCXX.cpp @@ -135,7 +135,7 @@ CodeGenFunction::EmitStaticCXXBlockVarDeclInit(const VarDecl &D, llvm::SmallString<256> GuardVName; llvm::raw_svector_ostream GuardVOut(GuardVName); - mangleGuardVariable(&D, getContext(), GuardVOut); + mangleGuardVariable(CGM.getMangleContext(), &D, GuardVOut); // Create the guard variable. llvm::GlobalValue *GuardV = @@ -607,7 +607,7 @@ const char *CodeGenModule::getMangledCXXCtorName(const CXXConstructorDecl *D, CXXCtorType Type) { llvm::SmallString<256> Name; llvm::raw_svector_ostream Out(Name); - mangleCXXCtor(D, Type, Context, Out); + mangleCXXCtor(getMangleContext(), D, Type, Out); Name += '\0'; return UniqueMangledName(Name.begin(), Name.end()); @@ -643,7 +643,7 @@ const char *CodeGenModule::getMangledCXXDtorName(const CXXDestructorDecl *D, CXXDtorType Type) { llvm::SmallString<256> Name; llvm::raw_svector_ostream Out(Name); - mangleCXXDtor(D, Type, Context, Out); + mangleCXXDtor(getMangleContext(), D, Type, Out); Name += '\0'; return UniqueMangledName(Name.begin(), Name.end()); @@ -661,7 +661,7 @@ llvm::Constant *CodeGenModule::GenerateRtti(const CXXRecordDecl *RD) { llvm::raw_svector_ostream Out(OutName); QualType ClassTy; ClassTy = getContext().getTagDeclType(RD); - mangleCXXRtti(ClassTy, getContext(), Out); + mangleCXXRtti(getMangleContext(), ClassTy, Out); llvm::GlobalVariable::LinkageTypes linktype; linktype = llvm::GlobalValue::WeakAnyLinkage; std::vector<llvm::Constant *> info; @@ -1187,7 +1187,7 @@ llvm::Value *CodeGenFunction::GenerateVtable(const CXXRecordDecl *RD) { llvm::raw_svector_ostream Out(OutName); QualType ClassTy; ClassTy = getContext().getTagDeclType(RD); - mangleCXXVtable(ClassTy, getContext(), Out); + mangleCXXVtable(CGM.getMangleContext(), ClassTy, Out); llvm::GlobalVariable::LinkageTypes linktype; linktype = llvm::GlobalValue::WeakAnyLinkage; std::vector<llvm::Constant *> methods; @@ -1285,7 +1285,7 @@ llvm::Constant *CodeGenModule::BuildThunk(const CXXMethodDecl *MD, bool Extern, int64_t nv, int64_t v) { llvm::SmallString<256> OutName; llvm::raw_svector_ostream Out(OutName); - mangleThunk(MD, nv, v, getContext(), Out); + mangleThunk(getMangleContext(), MD, nv, v, Out); llvm::GlobalVariable::LinkageTypes linktype; linktype = llvm::GlobalValue::WeakAnyLinkage; if (!Extern) @@ -1310,7 +1310,7 @@ llvm::Constant *CodeGenModule::BuildCovariantThunk(const CXXMethodDecl *MD, int64_t v_r) { llvm::SmallString<256> OutName; llvm::raw_svector_ostream Out(OutName); - mangleCovariantThunk(MD, nv_t, v_t, nv_r, v_r, getContext(), Out); + mangleCovariantThunk(getMangleContext(), MD, nv_t, v_t, nv_r, v_r, Out); llvm::GlobalVariable::LinkageTypes linktype; linktype = llvm::GlobalValue::WeakAnyLinkage; if (!Extern) |