This patch changes the ASTImporter to propagate the implicit flag to 
RecordDecls and FieldDecls (to hide the injected type name and anonymous 
struct/union fields).

If required I could also extend this to all other decl types.

http://reviews.llvm.org/D6549

Files:
  lib/AST/ASTImporter.cpp
Index: lib/AST/ASTImporter.cpp
===================================================================
--- lib/AST/ASTImporter.cpp
+++ lib/AST/ASTImporter.cpp
@@ -2581,6 +2581,7 @@
     D2->setQualifierInfo(Importer.Import(D->getQualifierLoc()));
     D2->setLexicalDeclContext(LexicalDC);
     LexicalDC->addDeclInternal(D2);
+    D2->setImplicit(D->isImplicit());
     if (D->isAnonymousStructOrUnion())
       D2->setAnonymousStructOrUnion(true);
   }
@@ -2974,6 +2975,7 @@
 
   ToIndirectField->setAccess(D->getAccess());
   ToIndirectField->setLexicalDeclContext(LexicalDC);
+  ToIndirectField->setImplicit(D->isImplicit());
   Importer.Imported(D, ToIndirectField);
   LexicalDC->addDeclInternal(ToIndirectField);
   return ToIndirectField;
_______________________________________________
cfe-commits mailing list
[email protected]
http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits

Reply via email to