diff options
author | Francois Pichet <pichet2000@gmail.com> | 2010-12-04 09:14:42 +0000 |
---|---|---|
committer | Francois Pichet <pichet2000@gmail.com> | 2010-12-04 09:14:42 +0000 |
commit | d583da04d09729aee882b3a7551325d311aac677 (patch) | |
tree | 6f07d475ebb937ded45bd3df16ea66f89a756020 /clang/lib/Analysis/CFG.cpp | |
parent | 211e699754cc23a2a634cfcd818e532f5c8c5d06 (diff) | |
download | bcm5719-llvm-d583da04d09729aee882b3a7551325d311aac677.tar.gz bcm5719-llvm-d583da04d09729aee882b3a7551325d311aac677.zip |
More anonymous struct/union redesign. This one deals with anonymous field used in a constructor initializer list:
struct X {
X() : au_i1(123) {}
union {
int au_i1;
float au_f1;
};
};
clang will now deal with au_i1 explicitly as an IndirectFieldDecl.
llvm-svn: 120900
Diffstat (limited to 'clang/lib/Analysis/CFG.cpp')
-rw-r--r-- | clang/lib/Analysis/CFG.cpp | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/clang/lib/Analysis/CFG.cpp b/clang/lib/Analysis/CFG.cpp index b382d9be580..9ff4e3897d6 100644 --- a/clang/lib/Analysis/CFG.cpp +++ b/clang/lib/Analysis/CFG.cpp @@ -553,7 +553,7 @@ CFGBlock *CFGBuilder::addInitializer(CXXBaseOrMemberInitializer *I) { // after initialization finishes. Expr *Init = I->getInit(); if (Init) { - if (FieldDecl *FD = I->getMember()) + if (FieldDecl *FD = I->getAnyMember()) IsReference = FD->getType()->isReferenceType(); HasTemporaries = isa<CXXExprWithTemporaries>(Init); @@ -3093,7 +3093,7 @@ static void print_elem(llvm::raw_ostream &OS, StmtPrinterHelper* Helper, CXXBaseOrMemberInitializer* I = IE; if (I->isBaseInitializer()) OS << I->getBaseClass()->getAsCXXRecordDecl()->getName(); - else OS << I->getMember()->getName(); + else OS << I->getAnyMember()->getName(); OS << "("; if (Expr* IE = I->getInit()) |