[arcmt] Remove '-arcmt-modify-in-memory', it turned out less useful than we hoped it would be.

llvm-svn: 133315
This commit is contained in:
Argyrios Kyrtzidis 2011-06-17 23:49:31 +00:00
parent 804e6d191b
commit 1240f4e53a
10 changed files with 3 additions and 86 deletions

View File

@ -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<TransformFn> getAllTransformations();

View File

@ -32,14 +32,6 @@ public:
TransformationAction(FrontendAction *WrappedAction);
};
class InMemoryTransformationAction : public WrapperFrontendAction {
protected:
virtual void ExecuteAction();
public:
InMemoryTransformationAction(FrontendAction *WrappedAction);
};
}
}

View File

@ -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">;

View File

@ -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<ccc_Group>, Flags<[Unsupported]>;

View File

@ -80,8 +80,7 @@ public:
enum {
ARCMT_None,
ARCMT_Check,
ARCMT_Modify,
ARCMT_ModifyInMemory
ARCMT_Modify
} ARCMTAction;
/// The input files and their types.

View File

@ -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<TransformFn> 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.
//===----------------------------------------------------------------------===//

View File

@ -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) {}

View File

@ -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;
}
}
}

View File

@ -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;
}
}

View File

@ -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