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.
llvm-svn: 83442
This commit is contained in:
@@ -39,7 +39,7 @@ CodeGenModule::CodeGenModule(ASTContext &C, const CompileOptions &compileOpts,
|
||||
Diagnostic &diags)
|
||||
: BlockModule(C, M, TD, Types, *this), Context(C),
|
||||
Features(C.getLangOptions()), CompileOpts(compileOpts), TheModule(M),
|
||||
TheTargetData(TD), Diags(diags), Types(C, M, TD), Runtime(0),
|
||||
TheTargetData(TD), Diags(diags), Types(C, M, TD), MangleCtx(C), Runtime(0),
|
||||
MemCpyFn(0), MemMoveFn(0), MemSetFn(0), CFConstantStringClassRef(0),
|
||||
VMContext(M.getContext()) {
|
||||
|
||||
@@ -166,7 +166,7 @@ const char *CodeGenModule::getMangledName(const NamedDecl *ND) {
|
||||
|
||||
llvm::SmallString<256> Name;
|
||||
llvm::raw_svector_ostream Out(Name);
|
||||
if (!mangleName(ND, Context, Out)) {
|
||||
if (!mangleName(getMangleContext(), ND, Out)) {
|
||||
assert(ND->getIdentifier() && "Attempt to mangle unnamed decl.");
|
||||
return ND->getNameAsCString();
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user