Author: erikjv Date: Tue Oct 25 05:06:11 2016 New Revision: 285056 URL: http://llvm.org/viewvc/llvm-project?rev=285056&view=rev Log: Fix 'unknown documentation command' warning ranges
Warnings generated by -Wdocumentation-unknown-command did only have a start location, not a full source range. This resulted in only the "carret" being show in messages, and IDEs highlighting only the single initial character. Modified: cfe/trunk/lib/AST/CommentLexer.cpp cfe/trunk/test/Sema/warn-documentation-unknown-command.cpp Modified: cfe/trunk/lib/AST/CommentLexer.cpp URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/AST/CommentLexer.cpp?rev=285056&r1=285055&r2=285056&view=diff ============================================================================== --- cfe/trunk/lib/AST/CommentLexer.cpp (original) +++ cfe/trunk/lib/AST/CommentLexer.cpp Tue Oct 25 05:06:11 2016 @@ -378,15 +378,17 @@ void Lexer::lexCommentText(Token &T) { if ((Info = Traits.getTypoCorrectCommandInfo(CommandName))) { StringRef CorrectedName = Info->Name; SourceLocation Loc = getSourceLocation(BufferPtr); - SourceRange CommandRange(Loc.getLocWithOffset(1), - getSourceLocation(TokenPtr)); + SourceLocation EndLoc = getSourceLocation(TokenPtr); + SourceRange FullRange = SourceRange(Loc, EndLoc); + SourceRange CommandRange(Loc.getLocWithOffset(1), EndLoc); Diag(Loc, diag::warn_correct_comment_command_name) - << CommandName << CorrectedName + << FullRange << CommandName << CorrectedName << FixItHint::CreateReplacement(CommandRange, CorrectedName); } else { formTokenWithChars(T, TokenPtr, tok::unknown_command); T.setUnknownCommandName(CommandName); - Diag(T.getLocation(), diag::warn_unknown_comment_command_name); + Diag(T.getLocation(), diag::warn_unknown_comment_command_name) + << SourceRange(T.getLocation(), T.getEndLocation()); return; } } Modified: cfe/trunk/test/Sema/warn-documentation-unknown-command.cpp URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/Sema/warn-documentation-unknown-command.cpp?rev=285056&r1=285055&r2=285056&view=diff ============================================================================== --- cfe/trunk/test/Sema/warn-documentation-unknown-command.cpp (original) +++ cfe/trunk/test/Sema/warn-documentation-unknown-command.cpp Tue Oct 25 05:06:11 2016 @@ -9,3 +9,7 @@ int test_unknown_comand_1; /// \retur aaa int test_unknown_comand_2(); +// RUN: c-index-test -test-load-source all -Wdocumentation-unknown-command %s > /dev/null 2> %t.err +// RUN: FileCheck < %t.err -check-prefix=CHECK-RANGE %s +// CHECK-RANGE: warn-documentation-unknown-command.cpp:5:9:{5:9-5:17}: warning: unknown command tag name +// CHECK-RANGE: warn-documentation-unknown-command.cpp:9:5:{9:5-9:11}: warning: unknown command tag name 'retur'; did you mean 'return'? _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits