diff options
Diffstat (limited to 'lib/AST/DeclPrinter.cpp')
-rw-r--r-- | lib/AST/DeclPrinter.cpp | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/lib/AST/DeclPrinter.cpp b/lib/AST/DeclPrinter.cpp index 5394924797..609d64cc7e 100644 --- a/lib/AST/DeclPrinter.cpp +++ b/lib/AST/DeclPrinter.cpp @@ -214,7 +214,11 @@ void DeclPrinter::VisitDeclContext(DeclContext *DC, bool Indent) { if (PrintAccess) { AccessSpecifier AS = D->getAccess(); - if (AS != CurAS) { + // This is a hack: when a struct is declared in a member declaration + // struct outer { struct inner *ptr; }; then we encounter the struct + // decl, but it has no access specifier. + // The correct solution is to merge this with the member. + if (AS != CurAS && AS != AS_none) { if (Indent) this->Indent(Indentation - Policy.Indentation); Print(AS); |