diff options
author | Fariborz Jahanian <fjahanian@apple.com> | 2010-01-11 21:17:32 +0000 |
---|---|---|
committer | Fariborz Jahanian <fjahanian@apple.com> | 2010-01-11 21:17:32 +0000 |
commit | 2990c029ad50a5a734b8a5bdf3c7b1dfa829538d (patch) | |
tree | e4013269bff3f781d0f53630f864e3259d22f46a /clang/lib/AST/StmtPrinter.cpp | |
parent | 7bdf3396024f3435a6a53de30dec74c26bfbaef1 (diff) | |
download | bcm5719-llvm-2990c029ad50a5a734b8a5bdf3c7b1dfa829538d.tar.gz bcm5719-llvm-2990c029ad50a5a734b8a5bdf3c7b1dfa829538d.zip |
Fix a problem related to rewrite of anonymous unions.
(fixes radar 6948022)
llvm-svn: 93186
Diffstat (limited to 'clang/lib/AST/StmtPrinter.cpp')
-rw-r--r-- | clang/lib/AST/StmtPrinter.cpp | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/clang/lib/AST/StmtPrinter.cpp b/clang/lib/AST/StmtPrinter.cpp index a7e42af04d8..83d38f84524 100644 --- a/clang/lib/AST/StmtPrinter.cpp +++ b/clang/lib/AST/StmtPrinter.cpp @@ -739,9 +739,10 @@ void StmtPrinter::VisitCallExpr(CallExpr *Call) { void StmtPrinter::VisitMemberExpr(MemberExpr *Node) { // FIXME: Suppress printing implicit bases (like "this") PrintExpr(Node->getBase()); + if (FieldDecl *FD = dyn_cast<FieldDecl>(Node->getMemberDecl())) + if (FD->isAnonymousStructOrUnion()) + return; OS << (Node->isArrow() ? "->" : "."); - // FIXME: Suppress printing references to unnamed objects - // representing anonymous unions/structs if (NestedNameSpecifier *Qualifier = Node->getQualifier()) Qualifier->print(OS, Policy); |