diff options
author | Erik Verbruggen <erikjv@me.com> | 2016-10-25 10:06:11 +0000 |
---|---|---|
committer | Erik Verbruggen <erikjv@me.com> | 2016-10-25 10:06:11 +0000 |
commit | 490823746a13bca58798e11543701c1cd30ffdf6 (patch) | |
tree | ac4524c265bdb43dab0552543dbace95c2efb57a /clang/lib/AST/CommentLexer.cpp | |
parent | 7df3043db36ddeb3e4c4f7412e9d9c6c4a797f79 (diff) | |
download | bcm5719-llvm-490823746a13bca58798e11543701c1cd30ffdf6.tar.gz bcm5719-llvm-490823746a13bca58798e11543701c1cd30ffdf6.zip |
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.
llvm-svn: 285056
Diffstat (limited to 'clang/lib/AST/CommentLexer.cpp')
-rw-r--r-- | clang/lib/AST/CommentLexer.cpp | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/clang/lib/AST/CommentLexer.cpp b/clang/lib/AST/CommentLexer.cpp index 57bfef08df6..65d0f56f09a 100644 --- a/clang/lib/AST/CommentLexer.cpp +++ b/clang/lib/AST/CommentLexer.cpp @@ -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; } } |