From 1240f4e53a6eb0a0f25b714d0e994137bc3d26c5 Mon Sep 17 00:00:00 2001 From: Argyrios Kyrtzidis Date: Fri, 17 Jun 2011 23:49:31 +0000 Subject: [PATCH] [arcmt] Remove '-arcmt-modify-in-memory', it turned out less useful than we hoped it would be. llvm-svn: 133315 --- clang/include/clang/ARCMigrate/ARCMT.h | 6 ---- clang/include/clang/ARCMigrate/ARCMTActions.h | 8 ----- clang/include/clang/Driver/CC1Options.td | 2 -- clang/include/clang/Driver/Options.td | 2 -- .../include/clang/Frontend/FrontendOptions.h | 3 +- clang/lib/ARCMigrate/ARCMT.cpp | 35 ------------------- clang/lib/ARCMigrate/ARCMTActions.cpp | 15 -------- clang/lib/Driver/Tools.cpp | 6 +--- clang/lib/Frontend/CompilerInvocation.cpp | 9 +---- .../ExecuteCompilerInvocation.cpp | 3 -- 10 files changed, 3 insertions(+), 86 deletions(-) diff --git a/clang/include/clang/ARCMigrate/ARCMT.h b/clang/include/clang/ARCMigrate/ARCMT.h index 013f46b7d7c9..13f0778464a8 100644 --- a/clang/include/clang/ARCMigrate/ARCMT.h +++ b/clang/include/clang/ARCMigrate/ARCMT.h @@ -41,12 +41,6 @@ bool applyTransformations(CompilerInvocation &origCI, llvm::StringRef Filename, InputKind Kind, DiagnosticClient *DiagClient); -/// \brief Like applyTransformations but no source file is modified, compilation -/// happens using in-memory buffers. -bool applyTransformationsInMemory(CompilerInvocation &origCI, - llvm::StringRef Filename, InputKind Kind, - DiagnosticClient *DiagClient); - typedef void (*TransformFn)(MigrationPass &pass); std::vector getAllTransformations(); diff --git a/clang/include/clang/ARCMigrate/ARCMTActions.h b/clang/include/clang/ARCMigrate/ARCMTActions.h index d2d9410b32f8..2dd57ab88bef 100644 --- a/clang/include/clang/ARCMigrate/ARCMTActions.h +++ b/clang/include/clang/ARCMigrate/ARCMTActions.h @@ -32,14 +32,6 @@ public: TransformationAction(FrontendAction *WrappedAction); }; -class InMemoryTransformationAction : public WrapperFrontendAction { -protected: - virtual void ExecuteAction(); - -public: - InMemoryTransformationAction(FrontendAction *WrappedAction); -}; - } } diff --git a/clang/include/clang/Driver/CC1Options.td b/clang/include/clang/Driver/CC1Options.td index cc594085ffa0..029c331973e4 100644 --- a/clang/include/clang/Driver/CC1Options.td +++ b/clang/include/clang/Driver/CC1Options.td @@ -387,8 +387,6 @@ def arcmt_check : Flag<"-arcmt-check">, HelpText<"Check for ARC migration issues that need manual handling">; def arcmt_modify : Flag<"-arcmt-modify">, HelpText<"Apply modifications to files to conform to ARC">; -def arcmt_modify_in_memory : Flag<"-arcmt-modify-in-memory">, - HelpText<"Apply ARC conforming modifications & compile using memory buffers">; def import_module : Separate<"-import-module">, HelpText<"Import a module definition file">; diff --git a/clang/include/clang/Driver/Options.td b/clang/include/clang/Driver/Options.td index 6b2af9550076..6f62489634ed 100644 --- a/clang/include/clang/Driver/Options.td +++ b/clang/include/clang/Driver/Options.td @@ -116,8 +116,6 @@ def ccc_arrmt_check : Flag<"-ccc-arrmt-check">, CCCDriverOpt, HelpText<"Check for ARC migration issues that need manual handling">; def ccc_arrmt_modify : Flag<"-ccc-arrmt-modify">, CCCDriverOpt, HelpText<"Apply modifications to files to conform to ARC">; -def ccc_arrmt_modify_in_memory : Flag<"-ccc-arrmt-modify-in-memory">, - HelpText<"Apply ARC conforming modifications & compile using memory buffers">; // Make sure all other -ccc- options are rejected. def ccc_ : Joined<"-ccc-">, Group, Flags<[Unsupported]>; diff --git a/clang/include/clang/Frontend/FrontendOptions.h b/clang/include/clang/Frontend/FrontendOptions.h index e97be26a6433..18117e965862 100644 --- a/clang/include/clang/Frontend/FrontendOptions.h +++ b/clang/include/clang/Frontend/FrontendOptions.h @@ -80,8 +80,7 @@ public: enum { ARCMT_None, ARCMT_Check, - ARCMT_Modify, - ARCMT_ModifyInMemory + ARCMT_Modify } ARCMTAction; /// The input files and their types. diff --git a/clang/lib/ARCMigrate/ARCMT.cpp b/clang/lib/ARCMigrate/ARCMT.cpp index 98e593c0fa63..04c35e28c89e 100644 --- a/clang/lib/ARCMigrate/ARCMT.cpp +++ b/clang/lib/ARCMigrate/ARCMT.cpp @@ -276,41 +276,6 @@ bool arcmt::applyTransformations(CompilerInvocation &origCI, return migration.getRemapper().overwriteOriginal(*Diags); } -//===----------------------------------------------------------------------===// -// applyTransformationsInMemory. -//===----------------------------------------------------------------------===// - -bool arcmt::applyTransformationsInMemory(CompilerInvocation &origCI, - llvm::StringRef Filename, InputKind Kind, - DiagnosticClient *DiagClient) { - if (!origCI.getLangOpts().ObjC1) - return false; - - // Make sure checking is successful first. - CompilerInvocation CInvokForCheck(origCI); - if (arcmt::checkForManualIssues(CInvokForCheck, Filename, Kind, DiagClient)) - return true; - - CompilerInvocation CInvok(origCI); - CInvok.getFrontendOpts().Inputs.clear(); - CInvok.getFrontendOpts().Inputs.push_back(std::make_pair(Kind, Filename)); - - MigrationProcess migration(CInvok, DiagClient); - - std::vector transforms = arcmt::getAllTransformations(); - assert(!transforms.empty()); - - for (unsigned i=0, e = transforms.size(); i != e; ++i) { - bool err = migration.applyTransform(transforms[i]); - if (err) return true; - } - - origCI.getLangOpts().ObjCAutoRefCount = true; - migration.getRemapper().transferMappingsAndClear(origCI); - - return false; -} - //===----------------------------------------------------------------------===// // CollectTransformActions. //===----------------------------------------------------------------------===// diff --git a/clang/lib/ARCMigrate/ARCMTActions.cpp b/clang/lib/ARCMigrate/ARCMTActions.cpp index a30c2783e3e2..4da928a0ebf3 100644 --- a/clang/lib/ARCMigrate/ARCMTActions.cpp +++ b/clang/lib/ARCMigrate/ARCMTActions.cpp @@ -41,18 +41,3 @@ void TransformationAction::ExecuteAction() { TransformationAction::TransformationAction(FrontendAction *WrappedAction) : WrapperFrontendAction(WrappedAction) {} - -void InMemoryTransformationAction::ExecuteAction() { - CompilerInstance &CI = getCompilerInstance(); - if (arcmt::applyTransformationsInMemory(CI.getInvocation(), getCurrentFile(), - getCurrentFileKind(), - CI.getDiagnostics().getClient())) - return; - - WrapperFrontendAction::ExecuteAction(); -} - -InMemoryTransformationAction::InMemoryTransformationAction( - FrontendAction *WrappedAction) - : WrapperFrontendAction(WrappedAction) {} - diff --git a/clang/lib/Driver/Tools.cpp b/clang/lib/Driver/Tools.cpp index b72f12abdea5..804094ba53f8 100644 --- a/clang/lib/Driver/Tools.cpp +++ b/clang/lib/Driver/Tools.cpp @@ -1391,8 +1391,7 @@ void Clang::ConstructJob(Compilation &C, const JobAction &JA, if (!Args.hasArg(options::OPT_fno_objc_arc)) { if (const Arg *A = Args.getLastArg(options::OPT_ccc_arrmt_check, - options::OPT_ccc_arrmt_modify, - options::OPT_ccc_arrmt_modify_in_memory)) { + options::OPT_ccc_arrmt_modify)) { switch (A->getOption().getID()) { default: llvm_unreachable("missed a case"); @@ -1402,9 +1401,6 @@ void Clang::ConstructJob(Compilation &C, const JobAction &JA, case options::OPT_ccc_arrmt_modify: CmdArgs.push_back("-arcmt-modify"); break; - case options::OPT_ccc_arrmt_modify_in_memory: - CmdArgs.push_back("-arcmt-modify-in-memory"); - break; } } } diff --git a/clang/lib/Frontend/CompilerInvocation.cpp b/clang/lib/Frontend/CompilerInvocation.cpp index 2c158fb1e4cb..c9718c4d881b 100644 --- a/clang/lib/Frontend/CompilerInvocation.cpp +++ b/clang/lib/Frontend/CompilerInvocation.cpp @@ -424,9 +424,6 @@ static void FrontendOptsToArgs(const FrontendOptions &Opts, case FrontendOptions::ARCMT_Modify: Res.push_back("-arcmt-modify"); break; - case FrontendOptions::ARCMT_ModifyInMemory: - Res.push_back("-arcmt-modify-in-memory"); - break; } bool NeedLang = false; @@ -1242,8 +1239,7 @@ static InputKind ParseFrontendArgs(FrontendOptions &Opts, ArgList &Args, Opts.ARCMTAction = FrontendOptions::ARCMT_None; if (const Arg *A = Args.getLastArg(OPT_arcmt_check, - OPT_arcmt_modify, - OPT_arcmt_modify_in_memory)) { + OPT_arcmt_modify)) { switch (A->getOption().getID()) { default: llvm_unreachable("missed a case"); @@ -1253,9 +1249,6 @@ static InputKind ParseFrontendArgs(FrontendOptions &Opts, ArgList &Args, case OPT_arcmt_modify: Opts.ARCMTAction = FrontendOptions::ARCMT_Modify; break; - case OPT_arcmt_modify_in_memory: - Opts.ARCMTAction = FrontendOptions::ARCMT_ModifyInMemory; - break; } } diff --git a/clang/lib/FrontendTool/ExecuteCompilerInvocation.cpp b/clang/lib/FrontendTool/ExecuteCompilerInvocation.cpp index 7ad263e14b8c..eb1c208df18b 100644 --- a/clang/lib/FrontendTool/ExecuteCompilerInvocation.cpp +++ b/clang/lib/FrontendTool/ExecuteCompilerInvocation.cpp @@ -100,9 +100,6 @@ static FrontendAction *CreateFrontendAction(CompilerInstance &CI) { case FrontendOptions::ARCMT_Modify: Act = new arcmt::TransformationAction(Act); break; - case FrontendOptions::ARCMT_ModifyInMemory: - Act = new arcmt::InMemoryTransformationAction(Act); - break; } // If there are any AST files to merge, create a frontend action