summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--clang/lib/CodeGen/BackendUtil.cpp5
-rw-r--r--clang/tools/libclang/CIndex.cpp5
2 files changed, 6 insertions, 4 deletions
diff --git a/clang/lib/CodeGen/BackendUtil.cpp b/clang/lib/CodeGen/BackendUtil.cpp
index f5edea7810a..801b49f04c8 100644
--- a/clang/lib/CodeGen/BackendUtil.cpp
+++ b/clang/lib/CodeGen/BackendUtil.cpp
@@ -604,7 +604,10 @@ void EmitAssemblyHelper::EmitAssembly(BackendAction Action,
if (!TM)
TM.reset(CreateTargetMachine(UsesCodeGen));
- if (UsesCodeGen && !TM) return;
+ if (UsesCodeGen && !TM)
+ return;
+ if (TM)
+ TheModule->setDataLayout(*TM->getDataLayout());
CreatePasses();
switch (Action) {
diff --git a/clang/tools/libclang/CIndex.cpp b/clang/tools/libclang/CIndex.cpp
index 2216ec61afa..adf8d977c93 100644
--- a/clang/tools/libclang/CIndex.cpp
+++ b/clang/tools/libclang/CIndex.cpp
@@ -3827,12 +3827,11 @@ CXString clang_Cursor_getMangling(CXCursor C) {
// Now apply backend mangling.
std::unique_ptr<llvm::DataLayout> DL(
new llvm::DataLayout(Ctx.getTargetInfo().getTargetDescription()));
- llvm::Mangler BackendMangler(DL.get());
std::string FinalBuf;
llvm::raw_string_ostream FinalBufOS(FinalBuf);
- BackendMangler.getNameWithPrefix(FinalBufOS,
- llvm::Twine(FrontendBufOS.str()));
+ llvm::Mangler::getNameWithPrefix(FinalBufOS, llvm::Twine(FrontendBufOS.str()),
+ *DL);
return cxstring::createDup(FinalBufOS.str());
}
OpenPOWER on IntegriCloud