Revert r173586 (and r173587) , "Attach any tag type's documentation to its typedef if"
authorNAKAMURA Takumi <geek4civic@gmail.com>
Sun, 27 Jan 2013 11:09:41 +0000 (11:09 +0000)
committerNAKAMURA Takumi <geek4civic@gmail.com>
Sun, 27 Jan 2013 11:09:41 +0000 (11:09 +0000)
It caused unexpected warnings with @tparam.

llvm-svn: 173614

clang/lib/AST/ASTContext.cpp
clang/test/Index/annotate-comments-typedef.m

index 1539b00..7ba64e3 100644 (file)
@@ -428,12 +428,12 @@ comments::FullComment *ASTContext::getCommentForDecl(
           return cloneFullComment(FC, D);
     }
     else if (const TypedefDecl *TD = dyn_cast<TypedefDecl>(D)) {
-      // Attach any tag type's documentation to its typedef if latter
+      // Attach enum's documentation to its typedef if latter
       // does not have one of its own.
       QualType QT = TD->getUnderlyingType();
-      if (const TagType *TT = QT->getAs<TagType>())
-        if (const Decl *TD = TT->getDecl())
-          if (comments::FullComment *FC = getCommentForDecl(TD, PP))
+      if (const EnumType *ET = QT->getAs<EnumType>())
+        if (const EnumDecl *ED = ET->getDecl())
+          if (comments::FullComment *FC = getCommentForDecl(ED, PP))
             return cloneFullComment(FC, D);
     }
     return NULL;
index 784c51e..6e5fb73 100644 (file)
@@ -28,9 +28,3 @@ enum E {
 };
 typedef enum E E_T;
 // CHECK: TypedefDecl=E_T:[[@LINE-1]]:16 (Definition) FullCommentAsHTML=[<p class="para-brief"> Documentation for E </p>] FullCommentAsXML=[<Typedef file="{{[^"]+}}annotate-comments-typedef.m" line="[[@LINE-1]]" column="16"><Name>E</Name><USR>c:@E@E</USR><Declaration>typedef enum E E_T</Declaration><Abstract><Para> Documentation for E </Para></Abstract></Typedef>]
-
-/** Comment about Foo */
-typedef struct {
-         int iii;
-        } Foo;
-// CHECK: TypedefDecl=Foo:[[@LINE-1]]:11 (Definition) FullCommentAsHTML=[<p class="para-brief"> Comment about Foo </p>] FullCommentAsXML=[<Typedef file="{{[^"]+}}annotate-comments-typedef.m" line="[[@LINE-1]]" column="11"><Name>&lt;anonymous&gt;</Name><USR>c:@SA@Foo</USR><Declaration>typedef struct Foo Foo</Declaration><Abstract><Para> Comment about Foo </Para></Abstract></Typedef>]