On Thu, Apr 12, 2018 at 10:47 PM, Zinovy Nis via cfe-commits <cfe-commits@lists.llvm.org> wrote: > 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. I think you want to revert that change in the mean time.
> чт, 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 > _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits