diff options
-rw-r--r-- | clang/lib/AST/CommentCommandTraits.cpp | 5 | ||||
-rw-r--r-- | clang/lib/AST/CommentLexer.cpp | 4 | ||||
-rw-r--r-- | clang/test/Sema/warn-documentation.m | 4 |
3 files changed, 9 insertions, 4 deletions
diff --git a/clang/lib/AST/CommentCommandTraits.cpp b/clang/lib/AST/CommentCommandTraits.cpp index dc4744a53c5..6baf4a9dc6b 100644 --- a/clang/lib/AST/CommentCommandTraits.cpp +++ b/clang/lib/AST/CommentCommandTraits.cpp @@ -68,6 +68,11 @@ HelperTypoCorrectCommandInfo(SmallVectorImpl<const CommandInfo *> &BestCommand, const CommandInfo * CommandTraits::getTypoCorrectCommandInfo(StringRef Typo) const { + // single character command impostures, such as \t or \n must not go + // through the fixit logic. + if (Typo.size() <= 1) + return NULL; + SmallVector<const CommandInfo *, 2> BestCommand; int NumOfCommands = sizeof(Commands) / sizeof(CommandInfo); diff --git a/clang/lib/AST/CommentLexer.cpp b/clang/lib/AST/CommentLexer.cpp index c589219f06f..b195d52e8ef 100644 --- a/clang/lib/AST/CommentLexer.cpp +++ b/clang/lib/AST/CommentLexer.cpp @@ -355,10 +355,6 @@ void Lexer::lexCommentText(Token &T) { if (!Info) { formTokenWithChars(T, TokenPtr, tok::unknown_command); T.setUnknownCommandName(CommandName); - // single character command impostures, such as \t or \n must not go - // through the fixit logic. - if (CommandName.size() <= 1) - return; if ((Info = Traits.getTypoCorrectCommandInfo(CommandName))) { StringRef CorrectedName = Info->Name; SourceRange CommandRange(T.getLocation().getLocWithOffset(1), diff --git a/clang/test/Sema/warn-documentation.m b/clang/test/Sema/warn-documentation.m index 0737a8dedd0..14e0c347e3f 100644 --- a/clang/test/Sema/warn-documentation.m +++ b/clang/test/Sema/warn-documentation.m @@ -172,3 +172,7 @@ struct S; @struct S1 THIS IS IT */ @interface S1 @end + +// expected-warning@+1 {{unknown command tag name}} +/// \t bbb IS_DOXYGEN_END +int FooBar(); |