omtcyfz created this revision. omtcyfz added a reviewer: alexfh. omtcyfz added a subscriber: cfe-commits.
`clang-rename` might sometimes have multiple replacements at one SourceLocation, both trying to perform the same renaming. While this issue should be addressed properly at some point, for now it's fine to prevent `clang-rename` from printing out the error message to prevent confusion as it works just fine even if the error happens. https://reviews.llvm.org/D24914 Files: clang-rename/RenamingAction.cpp Index: clang-rename/RenamingAction.cpp =================================================================== --- clang-rename/RenamingAction.cpp +++ clang-rename/RenamingAction.cpp @@ -68,12 +68,14 @@ << ":" << FullLoc.getSpellingLineNumber() << ":" << FullLoc.getSpellingColumnNumber() << "\n"; } - // FIXME: better error handling. tooling::Replacement Replace(SourceMgr, Loc, PrevNameLen, NewName); llvm::Error Err = FileToReplaces[Replace.getFilePath()].add(Replace); + // FIXME: As for clang-rename, replacement fails IFF either the AST node + // has been matched multiple times (which shouldn't happen in reality, + // need to fix that) or when it's a specific header. For now, just ingore + // there error that happened as it doesn't mean a failure. if (Err) - llvm::errs() << "Renaming failed in " << Replace.getFilePath() << "! " - << llvm::toString(std::move(Err)) << "\n"; + llvm::consumeError(std::move(Err)); } }
Index: clang-rename/RenamingAction.cpp =================================================================== --- clang-rename/RenamingAction.cpp +++ clang-rename/RenamingAction.cpp @@ -68,12 +68,14 @@ << ":" << FullLoc.getSpellingLineNumber() << ":" << FullLoc.getSpellingColumnNumber() << "\n"; } - // FIXME: better error handling. tooling::Replacement Replace(SourceMgr, Loc, PrevNameLen, NewName); llvm::Error Err = FileToReplaces[Replace.getFilePath()].add(Replace); + // FIXME: As for clang-rename, replacement fails IFF either the AST node + // has been matched multiple times (which shouldn't happen in reality, + // need to fix that) or when it's a specific header. For now, just ingore + // there error that happened as it doesn't mean a failure. if (Err) - llvm::errs() << "Renaming failed in " << Replace.getFilePath() << "! " - << llvm::toString(std::move(Err)) << "\n"; + llvm::consumeError(std::move(Err)); } }
_______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits