Show how to modify built-in options.
authorMikhail Glushenkov <foldr@codedgers.com>
Tue, 7 Jul 2009 16:39:33 +0000 (16:39 +0000)
committerMikhail Glushenkov <foldr@codedgers.com>
Tue, 7 Jul 2009 16:39:33 +0000 (16:39 +0000)
Sanjiv complained about the need to maintain local changes to
lib/CompilerDriver.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74912 91177308-0d34-0410-b5e6-96231b3b80d8

tools/llvmc/example/mcc16/driver/Main.cpp

index b1f5b6798ae69c1a9be032a39eefc578b63cad81..5b57d884789c300dc7a38949e23f7802d16409f9 100644 (file)
@@ -7,8 +7,25 @@
 //
 //===----------------------------------------------------------------------===//
 //
-//  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 enabled
+//  by default.
 //
 //===----------------------------------------------------------------------===//
 
-#include "llvm/CompilerDriver/Main.inc"
+#include "llvm/CompilerDriver/BuiltinOptions.h"
+#include "llvm/CompilerDriver/ForceLinkage.h"
+
+namespace llvmc {
+  int Main(int argc, char** argv);
+}
+
+int main(int argc, char** argv) {
+
+  // HACK
+  SaveTemps = SaveTempsEnum::Obj;
+  SaveTemps.setHiddenFlag(llvm::cl::Hidden);
+
+  llvmc::ForceLinkage();
+  return llvmc::Main(argc, argv);
+}