Allow passing '-###' to ASTUnit::LoadFromCommandLine to print out the cc1 options.

llvm-svn: 127183
diff --git a/clang/lib/Frontend/ASTUnit.cpp b/clang/lib/Frontend/ASTUnit.cpp
index 6644206..9252c6a 100644
--- a/clang/lib/Frontend/ASTUnit.cpp
+++ b/clang/lib/Frontend/ASTUnit.cpp
@@ -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 @@
     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();