clover: Fix build after llvm r332881.
authorJan Vesely <jan.vesely@rutgers.edu>
Tue, 22 May 2018 21:52:30 +0000 (17:52 -0400)
committerJan Vesely <jan.vesely@rutgers.edu>
Tue, 29 May 2018 21:36:16 +0000 (17:36 -0400)
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>
src/gallium/state_trackers/clover/llvm/codegen/native.cpp
src/gallium/state_trackers/clover/llvm/compat.hpp

index 409f8ac..21f6c8c 100644 (file)
@@ -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);
index 2e070b2..42a671b 100644 (file)
@@ -247,6 +247,17 @@ namespace clover {
                ::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
+       }
       }
    }
 }