summaryrefslogtreecommitdiffstats
path: root/clang/lib/ARCMigrate/ARCMTActions.cpp
diff options
context:
space:
mode:
authorArgyrios Kyrtzidis <akyrtzi@gmail.com>2011-06-18 00:53:41 +0000
committerArgyrios Kyrtzidis <akyrtzi@gmail.com>2011-06-18 00:53:41 +0000
commit90b6a2a6a78273b0df86485c887bb66c3daaaadf (patch)
tree1c061ed10b66cdc3877a25cdaa9a9da3d9298823 /clang/lib/ARCMigrate/ARCMTActions.cpp
parent0f3f9f78f8e8b0e13cef69edf22bc62860f5e9ea (diff)
downloadbcm5719-llvm-90b6a2a6a78273b0df86485c887bb66c3daaaadf.tar.gz
bcm5719-llvm-90b6a2a6a78273b0df86485c887bb66c3daaaadf.zip
[arcmt] Fix the ARC migrator. -arcmt-modify requires running before the initialization of SourceManager
because it is going to modify the input file. llvm-svn: 133323
Diffstat (limited to 'clang/lib/ARCMigrate/ARCMTActions.cpp')
-rw-r--r--clang/lib/ARCMigrate/ARCMTActions.cpp17
1 files changed, 6 insertions, 11 deletions
diff --git a/clang/lib/ARCMigrate/ARCMTActions.cpp b/clang/lib/ARCMigrate/ARCMTActions.cpp
index 4da928a0ebf..7de62d289ce 100644
--- a/clang/lib/ARCMigrate/ARCMTActions.cpp
+++ b/clang/lib/ARCMigrate/ARCMTActions.cpp
@@ -14,29 +14,24 @@
using namespace clang;
using namespace arcmt;
-void CheckAction::ExecuteAction() {
- CompilerInstance &CI = getCompilerInstance();
+bool CheckAction::BeginInvocation(CompilerInstance &CI) {
if (arcmt::checkForManualIssues(CI.getInvocation(), getCurrentFile(),
getCurrentFileKind(),
CI.getDiagnostics().getClient()))
- return;
+ return false; // errors, stop the action.
// We only want to see warnings reported from arcmt::checkForManualIssues.
CI.getDiagnostics().setIgnoreAllWarnings(true);
- WrapperFrontendAction::ExecuteAction();
+ return true;
}
CheckAction::CheckAction(FrontendAction *WrappedAction)
: WrapperFrontendAction(WrappedAction) {}
-void TransformationAction::ExecuteAction() {
- CompilerInstance &CI = getCompilerInstance();
- if (arcmt::applyTransformations(CI.getInvocation(), getCurrentFile(),
+bool TransformationAction::BeginInvocation(CompilerInstance &CI) {
+ return !arcmt::applyTransformations(CI.getInvocation(), getCurrentFile(),
getCurrentFileKind(),
- CI.getDiagnostics().getClient()))
- return;
-
- WrapperFrontendAction::ExecuteAction();
+ CI.getDiagnostics().getClient());
}
TransformationAction::TransformationAction(FrontendAction *WrappedAction)
OpenPOWER on IntegriCloud