aboutsummaryrefslogtreecommitdiff
path: root/lib/Sema/Sema.cpp
diff options
context:
space:
mode:
authorDmitri Gribenko <gribozavr@gmail.com>2012-06-22 16:02:55 +0000
committerDmitri Gribenko <gribozavr@gmail.com>2012-06-22 16:02:55 +0000
commit9dda4746867a747c1c3421d8a04a1b666aeb5809 (patch)
treec9a71ef716ed6ab0a7d93a73b66f7424f8e3d32a /lib/Sema/Sema.cpp
parent67e8a8b00b67a903ab4916947712963942f1ef40 (diff)
Add a warning about almost-Doxygen trailing comments: //< and /*< ... */
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@159001 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Sema/Sema.cpp')
-rw-r--r--lib/Sema/Sema.cpp18
1 files changed, 18 insertions, 0 deletions
diff --git a/lib/Sema/Sema.cpp b/lib/Sema/Sema.cpp
index 9e4b291971..9d18a5c596 100644
--- a/lib/Sema/Sema.cpp
+++ b/lib/Sema/Sema.cpp
@@ -1016,6 +1016,24 @@ LambdaScopeInfo *Sema::getCurLambda() {
void Sema::ActOnComment(SourceRange Comment) {
RawComment RC(SourceMgr, Comment);
+ if (RC.isAlmostTrailingComment()) {
+ SourceRange MagicMarkerRange(Comment.getBegin(),
+ Comment.getBegin().getLocWithOffset(3));
+ StringRef MagicMarkerText;
+ switch (RC.getKind()) {
+ case RawComment::CK_OrdinaryBCPL:
+ MagicMarkerText = "///<";
+ break;
+ case RawComment::CK_OrdinaryC:
+ MagicMarkerText = "/**<";
+ break;
+ default:
+ llvm_unreachable("if this is an almost Doxygen comment, "
+ "it should be ordinary");
+ }
+ Diag(Comment.getBegin(), diag::warn_not_a_doxygen_trailing_member_comment) <<
+ FixItHint::CreateReplacement(MagicMarkerRange, MagicMarkerText);
+ }
Context.addComment(RC);
}