From d571363e459f84f7cee91c1c6a20ceb3692c9824 Mon Sep 17 00:00:00 2001 From: Argyrios Kyrtzidis Date: Tue, 19 Jul 2011 17:20:03 +0000 Subject: [arcmt] Add some additional driver flags to optionally emit or save the pre-migration ARC errors. -arcmt-migrate-emit-errors : Emits the pre-migration ARC errors but it doesn't affect anything else -arcmt-migrate-report-output : Writes out the pre-migration ARC errors to the provided plist file rdar://9791454 llvm-svn: 135491 --- clang/lib/ARCMigrate/ARCMTActions.cpp | 18 ++++++++++++++---- 1 file changed, 14 insertions(+), 4 deletions(-) (limited to 'clang/lib/ARCMigrate/ARCMTActions.cpp') diff --git a/clang/lib/ARCMigrate/ARCMTActions.cpp b/clang/lib/ARCMigrate/ARCMTActions.cpp index 345c7452420..e4761f692b2 100644 --- a/clang/lib/ARCMigrate/ARCMTActions.cpp +++ b/clang/lib/ARCMigrate/ARCMTActions.cpp @@ -38,16 +38,26 @@ ModifyAction::ModifyAction(FrontendAction *WrappedAction) : WrapperFrontendAction(WrappedAction) {} bool MigrateAction::BeginInvocation(CompilerInstance &CI) { - return !arcmt::migrateWithTemporaryFiles(CI.getInvocation(), + if (arcmt::migrateWithTemporaryFiles(CI.getInvocation(), getCurrentFile(), getCurrentFileKind(), CI.getDiagnostics().getClient(), - MigrateDir); + MigrateDir, + EmitPremigrationARCErros, + PlistOut)) + return false; // errors, stop the action. + + // We only want to see diagnostics emitted by migrateWithTemporaryFiles. + CI.getDiagnostics().setIgnoreAllWarnings(true); + return true; } MigrateAction::MigrateAction(FrontendAction *WrappedAction, - llvm::StringRef migrateDir) - : WrapperFrontendAction(WrappedAction), MigrateDir(migrateDir) { + llvm::StringRef migrateDir, + llvm::StringRef plistOut, + bool emitPremigrationARCErrors) + : WrapperFrontendAction(WrappedAction), MigrateDir(migrateDir), + PlistOut(plistOut), EmitPremigrationARCErros(emitPremigrationARCErrors) { if (MigrateDir.empty()) MigrateDir = "."; // user current directory if none is given. } -- cgit v1.2.3