diff options
author | Argyrios Kyrtzidis <akyrtzi@gmail.com> | 2011-07-19 17:20:03 +0000 |
---|---|---|
committer | Argyrios Kyrtzidis <akyrtzi@gmail.com> | 2011-07-19 17:20:03 +0000 |
commit | 7ee2049278b98d42709380054eb83f4952af1200 (patch) | |
tree | bb46e6c218a5ea916421f14df4742dda21f213a2 /include/clang/ARCMigrate/ARCMT.h | |
parent | d6dbb8759a05ab32db67f089c1f5d3f53091e9ed (diff) | |
download | clang-7ee2049278b98d42709380054eb83f4952af1200.tar.gz |
[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
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@135491 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'include/clang/ARCMigrate/ARCMT.h')
-rw-r--r-- | include/clang/ARCMigrate/ARCMT.h | 22 |
1 files changed, 20 insertions, 2 deletions
diff --git a/include/clang/ARCMigrate/ARCMT.h b/include/clang/ARCMigrate/ARCMT.h index ad5cf4a2c1..147ac2fd85 100644 --- a/include/clang/ARCMigrate/ARCMT.h +++ b/include/clang/ARCMigrate/ARCMT.h @@ -28,10 +28,19 @@ namespace arcmt { /// It then checks the AST and produces errors/warning for ARC migration issues /// that the user needs to handle manually. /// +/// \param emitPremigrationARCErrors if true all ARC errors will get emitted +/// even if the migrator can fix them, but the function will still return false +/// if all ARC errors can be fixed. +/// +/// \param plistOut if non-empty, it is the file path to store the plist with +/// the pre-migration ARC diagnostics. +/// /// \returns false if no error is produced, true otherwise. bool checkForManualIssues(CompilerInvocation &CI, llvm::StringRef Filename, InputKind Kind, - DiagnosticClient *DiagClient); + DiagnosticClient *DiagClient, + bool emitPremigrationARCErrors = false, + llvm::StringRef plistOut = llvm::StringRef()); /// \brief Works similar to checkForManualIssues but instead of checking, it /// applies automatic modifications to source files to conform to ARC. @@ -44,11 +53,20 @@ bool applyTransformations(CompilerInvocation &origCI, /// \brief Applies automatic modifications and produces temporary files /// and metadata into the \arg outputDir path. /// +/// \param emitPremigrationARCErrors if true all ARC errors will get emitted +/// even if the migrator can fix them, but the function will still return false +/// if all ARC errors can be fixed. +/// +/// \param plistOut if non-empty, it is the file path to store the plist with +/// the pre-migration ARC diagnostics. +/// /// \returns false if no error is produced, true otherwise. bool migrateWithTemporaryFiles(CompilerInvocation &origCI, llvm::StringRef Filename, InputKind Kind, DiagnosticClient *DiagClient, - llvm::StringRef outputDir); + llvm::StringRef outputDir, + bool emitPremigrationARCErrors, + llvm::StringRef plistOut); /// \brief Get the set of file remappings from the \arg outputDir path that /// migrateWithTemporaryFiles produced. |