]> granicus.if.org Git - clang/commitdiff
Allow passing '-###' to ASTUnit::LoadFromCommandLine to print out the cc1 options.
authorArgyrios Kyrtzidis <akyrtzi@gmail.com>
Mon, 7 Mar 2011 22:45:01 +0000 (22:45 +0000)
committerArgyrios Kyrtzidis <akyrtzi@gmail.com>
Mon, 7 Mar 2011 22:45:01 +0000 (22:45 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@127183 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Frontend/ASTUnit.cpp

index 6644206766dd97be5cdc7724da43e7dbd65062d9..9252c6a7a0edada1bca08fa2068a991f591bb57c 100644 (file)
@@ -20,6 +20,8 @@
 #include "clang/Driver/Compilation.h"
 #include "clang/Driver/Driver.h"
 #include "clang/Driver/Job.h"
+#include "clang/Driver/ArgList.h"
+#include "clang/Driver/Options.h"
 #include "clang/Driver/Tool.h"
 #include "clang/Frontend/CompilerInstance.h"
 #include "clang/Frontend/FrontendActions.h"
@@ -1613,6 +1615,12 @@ ASTUnit *ASTUnit::LoadFromCommandLine(const char **ArgBegin,
     llvm::OwningPtr<driver::Compilation> C(
       TheDriver.BuildCompilation(Args.size(), Args.data()));
 
+    // Just print the cc1 options if -### was present.
+    if (C->getArgs().hasArg(driver::options::OPT__HASH_HASH_HASH)) {
+      C->PrintJob(llvm::errs(), C->getJobs(), "\n", true);
+      return 0;
+    }
+
     // We expect to get back exactly one command job, if we didn't something
     // failed.
     const driver::JobList &Jobs = C->getJobs();