[arcmt] Introduce new '-ccc-arcmt-migrate <path>' ARC migration driver option.
This is a new mode of migration, where we avoid modifying the original files but we emit temporary files instead. <path> will be used to keep migration process metadata. Currently the temporary files that are produced are put in the system's temp directory but we can put them in the <path> if is necessary. Also introduce new ARC migration functions in libclang whose only purpose, currently, is to accept <path> and provide pairs of original file/transformed file to map from the originals to the files after transformations are applied. Finally introduce the c-arcmt-test utility that exercises the new libclang functions, update arcmt-test, and add tests for the whole process. rdar://9735086. llvm-svn: 134844
This commit is contained in:
@@ -97,7 +97,10 @@ static FrontendAction *CreateFrontendAction(CompilerInstance &CI) {
|
||||
Act = new arcmt::CheckAction(Act);
|
||||
break;
|
||||
case FrontendOptions::ARCMT_Modify:
|
||||
Act = new arcmt::TransformationAction(Act);
|
||||
Act = new arcmt::ModifyAction(Act);
|
||||
break;
|
||||
case FrontendOptions::ARCMT_Migrate:
|
||||
Act = new arcmt::MigrateAction(Act, CI.getFrontendOpts().ARCMTMigrateDir);
|
||||
break;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user