summaryrefslogtreecommitdiffstats
path: root/clang/lib/Analysis/CFG.cpp
diff options
context:
space:
mode:
authorFrancois Pichet <pichet2000@gmail.com>2010-12-04 09:14:42 +0000
committerFrancois Pichet <pichet2000@gmail.com>2010-12-04 09:14:42 +0000
commitd583da04d09729aee882b3a7551325d311aac677 (patch)
tree6f07d475ebb937ded45bd3df16ea66f89a756020 /clang/lib/Analysis/CFG.cpp
parent211e699754cc23a2a634cfcd818e532f5c8c5d06 (diff)
downloadbcm5719-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.cpp4
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())
OpenPOWER on IntegriCloud