From: Daniel Dunbar Date: Wed, 29 Sep 2010 16:09:28 +0000 (+0000) Subject: Frontend/XML: Add support for printing nested structures, patch by Martin Vejnár! X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=54d56a5dadb8403a9211e82ab12ffc2e0dd83774;p=clang Frontend/XML: Add support for printing nested structures, patch by Martin Vejnár! git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@115041 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/lib/Frontend/DeclXML.cpp b/lib/Frontend/DeclXML.cpp index 97a7f55583..3b600ffd2f 100644 --- a/lib/Frontend/DeclXML.cpp +++ b/lib/Frontend/DeclXML.cpp @@ -43,6 +43,18 @@ class DocumentXML::DeclPrinter : public DeclVisitor { Visit(*i); Doc.toParent(); } + + for (RecordDecl::decl_iterator i = RD->decls_begin(), + e = RD->decls_end(); i != e; ++i) { + Decl *d = *i; + if (isa(d)) { + RecordDecl* pRec = cast(d); + if (pRec->isDefinition()) { + Visit(pRec); + Doc.toParent(); + } + } + } } void addSubNodes(CXXRecordDecl* RD) { diff --git a/test/Coverage/c-language-features.inc b/test/Coverage/c-language-features.inc index 3548132500..0ff1237b12 100644 --- a/test/Coverage/c-language-features.inc +++ b/test/Coverage/c-language-features.inc @@ -188,3 +188,11 @@ void f10() { x = (struct f10_s0) { .iv0 = "name" }; } + +// Nested structures. +struct s11 { + struct s11_2 { + int f0; + } f0; + int f1; +};