forked from OSchip/llvm-project
[document parsing]: support c++11 type aliases
with no comment of their own to inherit the comment of their aliased type. // rdar://13752382 llvm-svn: 180924
This commit is contained in:
parent
1d29750b7d
commit
6384fbb28f
|
@ -442,7 +442,7 @@ comments::FullComment *ASTContext::getCommentForDecl(
|
|||
if (comments::FullComment *FC = getCommentForDecl(Overridden[i], PP))
|
||||
return cloneFullComment(FC, D);
|
||||
}
|
||||
else if (const TypedefDecl *TD = dyn_cast<TypedefDecl>(D)) {
|
||||
else if (const TypedefNameDecl *TD = dyn_cast<TypedefNameDecl>(D)) {
|
||||
// Attach any tag type's documentation to its typedef if latter
|
||||
// does not have one of its own.
|
||||
QualType QT = TD->getUnderlyingType();
|
||||
|
|
|
@ -0,0 +1,27 @@
|
|||
// RUN: rm -rf %t
|
||||
// RUN: mkdir %t
|
||||
// RUN: c-index-test -test-load-source all -comments-xml-schema=%S/../../bindings/xml/comment-xml-schema.rng std=c++11 %s > %t/out
|
||||
// RUN: FileCheck %s < %t/out
|
||||
// rdar://13752382
|
||||
|
||||
namespace inner {
|
||||
//! This documentation should be inherited.
|
||||
struct Opaque;
|
||||
}
|
||||
// CHECK: (CXComment_Text Text=[ This documentation should be inherited.])))]
|
||||
|
||||
namespace borrow {
|
||||
//! This is documentation for the typedef (which shows up).
|
||||
typedef inner::Opaque Typedef;
|
||||
// CHECK: (CXComment_Text Text=[ This is documentation for the typedef (which shows up).])))]
|
||||
|
||||
//! This is documentation for the alias (which shows up).
|
||||
using Alias = inner::Opaque;
|
||||
// CHECK: (CXComment_Text Text=[ This is documentation for the alias (which shows up).])))]
|
||||
|
||||
typedef inner::Opaque NoDocTypedef;
|
||||
// CHECK: (CXComment_Text Text=[ This documentation should be inherited.])))]
|
||||
|
||||
using NoDocAlias = inner::Opaque;
|
||||
// CHECK: (CXComment_Text Text=[ This documentation should be inherited.])))]
|
||||
}
|
Loading…
Reference in New Issue