diff options
| -rw-r--r-- | clang/lib/CodeGen/BackendUtil.cpp | 5 | ||||
| -rw-r--r-- | clang/tools/libclang/CIndex.cpp | 5 |
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()); } |

