I composed a test and you are right - for multi-token type names new code returns wrong result. So this new code was a premature optimization. Sorry. I'll see how to fix it in a better way and create a review on it. Thanks for poiting.
чт, 12 апр. 2018 г. в 20:01, Alexander Kornienko <ale...@google.com>: > On Thu, Apr 12, 2018 at 7:44 AM Zinovy Nis via cfe-commits < > cfe-commits@lists.llvm.org> wrote: > >> Author: zinovy.nis >> Date: Wed Apr 11 22:41:24 2018 >> New Revision: 329873 >> >> URL: http://llvm.org/viewvc/llvm-project?rev=329873&view=rev >> Log: >> [clang-tidy] [modernize-use-auto] Get only a length of token, not the >> token itself >> >> >> Modified: >> clang-tools-extra/trunk/clang-tidy/modernize/UseAutoCheck.cpp >> >> Modified: clang-tools-extra/trunk/clang-tidy/modernize/UseAutoCheck.cpp >> URL: >> http://llvm.org/viewvc/llvm-project/clang-tools-extra/trunk/clang-tidy/modernize/UseAutoCheck.cpp?rev=329873&r1=329872&r2=329873&view=diff >> >> ============================================================================== >> --- clang-tools-extra/trunk/clang-tidy/modernize/UseAutoCheck.cpp >> (original) >> +++ clang-tools-extra/trunk/clang-tidy/modernize/UseAutoCheck.cpp Wed Apr >> 11 22:41:24 2018 >> @@ -11,6 +11,7 @@ >> #include "clang/AST/ASTContext.h" >> #include "clang/ASTMatchers/ASTMatchFinder.h" >> #include "clang/ASTMatchers/ASTMatchers.h" >> +#include "clang/Lex/Lexer.h" >> #include "clang/Tooling/FixIt.h" >> >> using namespace clang; >> @@ -419,8 +420,8 @@ void UseAutoCheck::replaceExpr( >> SourceRange Range(Loc.getSourceRange()); >> >> if (MinTypeNameLength != 0 && >> - tooling::fixit::getText(Loc.getSourceRange(), >> FirstDecl->getASTContext()) >> - .size() < MinTypeNameLength) >> + Lexer::MeasureTokenLength(Loc.getLocStart(), >> Context->getSourceManager(), >> + getLangOpts()) < MinTypeNameLength) >> > > What about type names consisting of multiple tokens (`unsigned long long`, > `struct VeryLongStructName`, etc.)? > > >> return; >> >> auto Diag = diag(Range.getBegin(), Message); >> >> >> _______________________________________________ >> cfe-commits mailing list >> cfe-commits@lists.llvm.org >> http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits >> >
_______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits