diff options
author | Daniel Dunbar <daniel@zuster.org> | 2009-11-19 07:37:51 +0000 |
---|---|---|
committer | Daniel Dunbar <daniel@zuster.org> | 2009-11-19 07:37:51 +0000 |
commit | 217acbfa3524d5805fda7900b26c1e779443588d (patch) | |
tree | 95278f7547e81fe7c5e80dd97953487d677cfbe0 /tools/driver/driver.cpp | |
parent | c06a8d8f3120ac93a36b77a4e59e5ad7c4fa56c9 (diff) |
Sketch some 'clang -cc1' support, for testing parts of CompilerInvocation.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@89333 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'tools/driver/driver.cpp')
-rw-r--r-- | tools/driver/driver.cpp | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/tools/driver/driver.cpp b/tools/driver/driver.cpp index 43dd36963c..dbfc293655 100644 --- a/tools/driver/driver.cpp +++ b/tools/driver/driver.cpp @@ -178,6 +178,9 @@ void ApplyQAOverride(std::vector<const char*> &Args, const char *OverrideStr, } } +extern int cc1_main(Diagnostic &Diags, + const char **ArgBegin, const char **ArgEnd); + int main(int argc, const char **argv) { llvm::sys::PrintStackTraceOnErrorSignal(); llvm::PrettyStackTraceProgram X(argc, argv); @@ -187,6 +190,10 @@ int main(int argc, const char **argv) { Diagnostic Diags(&DiagClient); + // Dispatch to cc1_main if appropriate. + if (argc > 1 && llvm::StringRef(argv[1]) == "-cc1") + return cc1_main(Diags, argv+2, argv+argc); + #ifdef CLANG_IS_PRODUCTION bool IsProduction = true; #else |