summaryrefslogtreecommitdiffstats
path: root/tools/llvmc/example/mcc16/driver/Main.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'tools/llvmc/example/mcc16/driver/Main.cpp')
-rw-r--r--tools/llvmc/example/mcc16/driver/Main.cpp27
1 files changed, 25 insertions, 2 deletions
diff --git a/tools/llvmc/example/mcc16/driver/Main.cpp b/tools/llvmc/example/mcc16/driver/Main.cpp
index b1f5b67..f42e17f 100644
--- a/tools/llvmc/example/mcc16/driver/Main.cpp
+++ b/tools/llvmc/example/mcc16/driver/Main.cpp
@@ -7,8 +7,31 @@
//
//===----------------------------------------------------------------------===//
//
-// Just include CompilerDriver/Main.inc.
+// Usually this file just includes CompilerDriver/Main.inc, but here we apply
+// some trickery to make the built-in '-save-temps' option hidden and enable
+// '--temp-dir' by default.
//
//===----------------------------------------------------------------------===//
-#include "llvm/CompilerDriver/Main.inc"
+#include "llvm/CompilerDriver/BuiltinOptions.h"
+#include "llvm/CompilerDriver/ForceLinkage.h"
+#include "llvm/System/Path.h"
+
+namespace llvmc {
+ int Main(int argc, char** argv);
+}
+
+int main(int argc, char** argv) {
+
+ // HACK
+ SaveTemps.setHiddenFlag(llvm::cl::Hidden);
+ TempDirname = "tmp-objs";
+
+ // Remove the temp dir if already exists.
+ llvm::sys::Path tempDir;
+ tempDir = TempDirname;
+ tempDir.eraseFromDisk(true);
+
+ llvmc::ForceLinkage();
+ return llvmc::Main(argc, argv);
+}
OpenPOWER on IntegriCloud