clover: Fix build after llvm r332881.
v2: fix whitespace and indentation r332881 added an extra parameter to the emit function. Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=106619 Signed-off-by: Jan Vesely <jan.vesely@rutgers.edu> Reviewed-By: Aaron Watry <awatry@gmail.com> Tested-By: Aaron Watry <awatry@gmail.com> Tested-by: Kai Wasserbäch <kai@dev.carbon-project.org>
This commit is contained in:
@@ -126,13 +126,12 @@ namespace {
|
||||
{
|
||||
compat::pass_manager pm;
|
||||
::llvm::raw_svector_ostream os { data };
|
||||
compat::raw_ostream_to_emit_file fos(os);
|
||||
|
||||
mod.setDataLayout(compat::get_data_layout(*tm));
|
||||
tm->Options.MCOptions.AsmVerbose =
|
||||
(ft == TargetMachine::CGFT_AssemblyFile);
|
||||
|
||||
if (tm->addPassesToEmitFile(pm, fos, ft))
|
||||
if (compat::add_passes_to_emit_file(*tm, pm, os, ft))
|
||||
fail(r_log, build_error(), "TargetMachine can't emit this file");
|
||||
|
||||
pm.run(mod);
|
||||
|
||||
@@ -245,6 +245,17 @@ namespace clover {
|
||||
::llvm::WriteBitcodeToFile(mod, os);
|
||||
#else
|
||||
::llvm::WriteBitcodeToFile(&mod, os);
|
||||
#endif
|
||||
}
|
||||
|
||||
template<typename TM, typename PM, typename OS, typename FT>
|
||||
bool add_passes_to_emit_file(TM &tm, PM &pm, OS &os, FT &ft)
|
||||
{
|
||||
compat::raw_ostream_to_emit_file fos(os);
|
||||
#if HAVE_LLVM >= 0x0700
|
||||
return tm.addPassesToEmitFile(pm, fos, nullptr, ft);
|
||||
#else
|
||||
return tm.addPassesToEmitFile(pm, fos, ft);
|
||||
#endif
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user