summaryrefslogtreecommitdiff
path: root/tools/llvmc/example/mcc16/driver/Main.cpp
diff options
context:
space:
mode:
authorRoman Divacky <rdivacky@FreeBSD.org>2009-10-14 17:57:32 +0000
committerRoman Divacky <rdivacky@FreeBSD.org>2009-10-14 17:57:32 +0000
commit59850d0874429601812bc13408cb1f776649027c (patch)
treeb21f6de4e08b89bb7931806bab798fc2a5e3a686 /tools/llvmc/example/mcc16/driver/Main.cpp
parent18f153bdb9db52e7089a2d5293b96c45a3124a26 (diff)
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 b1f5b6798ae69..f42e17f641157 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);
+}