Index: clang-rename/RenamingAction.cpp =================================================================== --- clang-rename/RenamingAction.cpp +++ clang-rename/RenamingAction.cpp @@ -68,12 +68,15 @@ << ":" << 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: An error might happen here if USRLocFinder finds the symbol + // twice or if the symbol happens to be in a header included multiple + // times independently. Such error doesn't mean clang-rename failure and + // therefore should be suppressed. However, more careful error handling + // might be better. if (Err) - llvm::errs() << "Renaming failed in " << Replace.getFilePath() << "! " - << llvm::toString(std::move(Err)) << "\n"; + llvm::consumeError(std::move(Err)); } }