forked from OSchip/llvm-project
[analyzer] Remove incorrect workaround for unimplemented temporary destructors.
If we're trying to get the zero element region of something that's not a region, we should be returning UnknownVal, which is what ProgramState::getLValue will do for us. Patch by Alex McCarthy! llvm-svn: 205327
This commit is contained in:
parent
398fb00e1e
commit
a78de33494
|
@ -91,12 +91,6 @@ void ExprEngine::performTrivialCopy(NodeBuilder &Bldr, ExplodedNode *Pred,
|
|||
/// If the type is not an array type at all, the original value is returned.
|
||||
static SVal makeZeroElementRegion(ProgramStateRef State, SVal LValue,
|
||||
QualType &Ty) {
|
||||
// FIXME: This check is just a temporary workaround, because
|
||||
// ProcessTemporaryDtor sends us NULL regions. It will not be necessary once
|
||||
// we can properly process temporary destructors.
|
||||
if (!LValue.getAsRegion())
|
||||
return LValue;
|
||||
|
||||
SValBuilder &SVB = State->getStateManager().getSValBuilder();
|
||||
ASTContext &Ctx = SVB.getContext();
|
||||
|
||||
|
|
|
@ -8,8 +8,8 @@ namespace Cxx11BraceInit {
|
|||
~Foo() {}
|
||||
};
|
||||
|
||||
/* FIXME: Don't crash here.
|
||||
void testInitializerList() {
|
||||
for (Foo foo : {Foo(), Foo()}) {}
|
||||
} */
|
||||
}
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue