Attaching comments to declarations: parse the comment in context of the
declaration it was attached to.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@162033 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/test/Sema/warn-documentation.cpp b/test/Sema/warn-documentation.cpp
index a361d57..d99520b 100644
--- a/test/Sema/warn-documentation.cpp
+++ b/test/Sema/warn-documentation.cpp
@@ -641,6 +641,22 @@
 template<typename T>
 void test_attach37<T>::test_attach39(int aaa, int bbb) {}
 
+// 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.
+template <typename T>
+struct test_attach38 {
+  /*!
+    \param a  First param
+    \param b  Second param
+  */
+  template <typename B>
+  void test_attach39(T a, B b);
+};
+
+template <>
+template <typename B>
+void test_attach38<int>::test_attach39(int, B);
 
 
 // PR13411, reduced.  We used to crash on this.