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/Checker/GRExprEngine.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/Checker/GRExprEngine.cpp')
| -rw-r--r-- | clang/lib/Checker/GRExprEngine.cpp | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/clang/lib/Checker/GRExprEngine.cpp b/clang/lib/Checker/GRExprEngine.cpp index e737eed8d15..c40c34118ed 100644 --- a/clang/lib/Checker/GRExprEngine.cpp +++ b/clang/lib/Checker/GRExprEngine.cpp @@ -687,7 +687,7 @@ void GRExprEngine::ProcessInitializer(const CFGInitializer Init, ExplodedNode *Pred = builder.getBasePredecessor(); const LocationContext *LC = Pred->getLocationContext(); - if (BMI->isMemberInitializer()) { + if (BMI->isAnyMemberInitializer()) { ExplodedNodeSet Dst; // Evaluate the initializer. @@ -697,7 +697,7 @@ void GRExprEngine::ProcessInitializer(const CFGInitializer Init, ExplodedNode *Pred = *I; const GRState *state = Pred->getState(); - const FieldDecl *FD = BMI->getMember(); + const FieldDecl *FD = BMI->getAnyMember(); const RecordDecl *RD = FD->getParent(); const CXXThisRegion *ThisR = getCXXThisRegion(cast<CXXRecordDecl>(RD), cast<StackFrameContext>(LC)); |

