[comment parsing] source fidelity for tparam command too.
authorFariborz Jahanian <fjahanian@apple.com>
Mon, 4 Mar 2013 20:08:47 +0000 (20:08 +0000)
committerFariborz Jahanian <fjahanian@apple.com>
Mon, 4 Mar 2013 20:08:47 +0000 (20:08 +0000)
// rdar://13066276

llvm-svn: 176448

clang/include/clang/Basic/DiagnosticCommentKinds.td
clang/lib/AST/CommentSema.cpp
clang/test/Sema/warn-documentation.cpp

index 73c0dc9..829f98d 100644 (file)
@@ -87,10 +87,10 @@ def warn_doc_param_not_found : Warning<
 def note_doc_param_name_suggestion : Note<
   "did you mean '%0'?">;
 
-// \tparam command
+// tparam command
 
 def warn_doc_tparam_not_attached_to_a_template_decl : Warning<
-  "'\\tparam' command used in a comment that is not attached to "
+  "'%select{\\|@}0tparam' command used in a comment that is not attached to "
   "a template declaration">,
   InGroup<Documentation>, DefaultIgnore;
 
index 3e4b283..dab48e0 100644 (file)
@@ -173,6 +173,7 @@ TParamCommandComment *Sema::actOnTParamCommandStart(SourceLocation LocBegin,
   if (!isTemplateOrSpecialization())
     Diag(Command->getLocation(),
          diag::warn_doc_tparam_not_attached_to_a_template_decl)
+      << AtCommand
       << Command->getCommandNameRange(Traits);
 
   return Command;
index 220f845..d054fac 100644 (file)
@@ -799,6 +799,10 @@ void test_attach37<int>::test_attach38(int aaa, int bbb) {}
 template<typename T>
 void test_attach37<T>::test_attach39(int aaa, int bbb) {}
 
+// expected-warning@+1 {{'@tparam' command used in a comment that is not attached to a template declaration}}
+/// @tparam T Aaa
+int test_tparam22;
+
 // We used to emit warning that parameter 'a' is not found because we parsed
 // the comment in context of the redeclaration which does not have parameter
 // names.