summaryrefslogtreecommitdiffstats
path: root/clang/lib/AST/StmtPrinter.cpp
diff options
context:
space:
mode:
authorFariborz Jahanian <fjahanian@apple.com>2010-01-11 21:17:32 +0000
committerFariborz Jahanian <fjahanian@apple.com>2010-01-11 21:17:32 +0000
commit2990c029ad50a5a734b8a5bdf3c7b1dfa829538d (patch)
treee4013269bff3f781d0f53630f864e3259d22f46a /clang/lib/AST/StmtPrinter.cpp
parent7bdf3396024f3435a6a53de30dec74c26bfbaef1 (diff)
downloadbcm5719-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.cpp5
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);
OpenPOWER on IntegriCloud