From 7a2645f91fc994b1e4619b00a1cdb42d667cd9ae Mon Sep 17 00:00:00 2001 From: Argyrios Kyrtzidis Date: Wed, 13 Nov 2013 23:38:17 +0000 Subject: [PATCH] [objcmt] If the frontend option is frontend::MigrateSource then we don't need to create the arcmt wrappers. llvm-svn: 194627 --- .../ExecuteCompilerInvocation.cpp | 42 ++++++++++--------- 1 file changed, 22 insertions(+), 20 deletions(-) diff --git a/clang/lib/FrontendTool/ExecuteCompilerInvocation.cpp b/clang/lib/FrontendTool/ExecuteCompilerInvocation.cpp index 5192ea7949b2..d755839c0f77 100644 --- a/clang/lib/FrontendTool/ExecuteCompilerInvocation.cpp +++ b/clang/lib/FrontendTool/ExecuteCompilerInvocation.cpp @@ -141,27 +141,29 @@ static FrontendAction *CreateFrontendAction(CompilerInstance &CI) { #endif #ifdef CLANG_ENABLE_ARCMT - // Potentially wrap the base FE action in an ARC Migrate Tool action. - switch (FEOpts.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, - FEOpts.MTMigrateDir, - FEOpts.ARCMTMigrateReportOut, - FEOpts.ARCMTMigrateEmitARCErrors); - break; - } + if (CI.getFrontendOpts().ProgramAction != frontend::MigrateSource) { + // Potentially wrap the base FE action in an ARC Migrate Tool action. + switch (FEOpts.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, + FEOpts.MTMigrateDir, + FEOpts.ARCMTMigrateReportOut, + FEOpts.ARCMTMigrateEmitARCErrors); + break; + } - if (FEOpts.ObjCMTAction != FrontendOptions::ObjCMT_None) { - Act = new arcmt::ObjCMigrateAction(Act, FEOpts.MTMigrateDir, - FEOpts.ObjCMTAction); + if (FEOpts.ObjCMTAction != FrontendOptions::ObjCMT_None) { + Act = new arcmt::ObjCMigrateAction(Act, FEOpts.MTMigrateDir, + FEOpts.ObjCMTAction); + } } #endif