diff options
| author | Dimitry Andric <dim@FreeBSD.org> | 2011-07-17 15:40:56 +0000 | 
|---|---|---|
| committer | Dimitry Andric <dim@FreeBSD.org> | 2011-07-17 15:40:56 +0000 | 
| commit | 180abc3db9ae3b4fc63cd65b15697e6ffcc8a657 (patch) | |
| tree | 2097d084eb235c0b12c0bff3445f4ec7bbaa8a12 /lib/FrontendTool/ExecuteCompilerInvocation.cpp | |
| parent | 29cafa66ad3878dbb9f82615f19fa0bded2e443c (diff) | |
Notes
Diffstat (limited to 'lib/FrontendTool/ExecuteCompilerInvocation.cpp')
| -rw-r--r-- | lib/FrontendTool/ExecuteCompilerInvocation.cpp | 17 | 
1 files changed, 16 insertions, 1 deletions
| diff --git a/lib/FrontendTool/ExecuteCompilerInvocation.cpp b/lib/FrontendTool/ExecuteCompilerInvocation.cpp index 664b53351dc1..f2db3ae74191 100644 --- a/lib/FrontendTool/ExecuteCompilerInvocation.cpp +++ b/lib/FrontendTool/ExecuteCompilerInvocation.cpp @@ -14,6 +14,7 @@  #include "clang/FrontendTool/Utils.h"  #include "clang/StaticAnalyzer/Frontend/FrontendActions.h" +#include "clang/ARCMigrate/ARCMTActions.h"  #include "clang/CodeGen/CodeGenAction.h"  #include "clang/Driver/CC1Options.h"  #include "clang/Driver/OptTable.h" @@ -38,7 +39,6 @@ static FrontendAction *CreateFrontendBaseAction(CompilerInstance &CI) {    case ASTDumpXML:             return new ASTDumpXMLAction();    case ASTPrint:               return new ASTPrintAction();    case ASTView:                return new ASTViewAction(); -  case BoostCon:               return new BoostConAction();    case CreateModule:           return 0;    case DumpRawTokens:          return new DumpRawTokensAction();    case DumpTokens:             return new DumpTokensAction(); @@ -89,6 +89,21 @@ static FrontendAction *CreateFrontendAction(CompilerInstance &CI) {    if (!Act)      return 0; +  // Potentially wrap the base FE action in an ARC Migrate Tool action. +  switch (CI.getFrontendOpts().ARCMTAction) { +  case FrontendOptions::ARCMT_None: +    break; +  case FrontendOptions::ARCMT_Check: +    Act = new arcmt::CheckAction(Act); +    break; +  case FrontendOptions::ARCMT_Modify: +    Act = new arcmt::ModifyAction(Act); +    break; +  case FrontendOptions::ARCMT_Migrate: +    Act = new arcmt::MigrateAction(Act, CI.getFrontendOpts().ARCMTMigrateDir); +    break; +  } +    // If there are any AST files to merge, create a frontend action    // adaptor to perform the merge.    if (!CI.getFrontendOpts().ASTMergeFiles.empty()) | 
