diff --git a/clang/lib/StaticAnalyzer/Core/ExprEngineCXX.cpp b/clang/lib/StaticAnalyzer/Core/ExprEngineCXX.cpp index fbbc73cc73bf..5dd16944e780 100644 --- a/clang/lib/StaticAnalyzer/Core/ExprEngineCXX.cpp +++ b/clang/lib/StaticAnalyzer/Core/ExprEngineCXX.cpp @@ -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(); diff --git a/clang/test/Analysis/dtor-cxx11.cpp b/clang/test/Analysis/dtor-cxx11.cpp index 5c9024b8edf7..7d2e87e44e4b 100644 --- a/clang/test/Analysis/dtor-cxx11.cpp +++ b/clang/test/Analysis/dtor-cxx11.cpp @@ -8,8 +8,8 @@ namespace Cxx11BraceInit { ~Foo() {} }; - /* FIXME: Don't crash here. void testInitializerList() { for (Foo foo : {Foo(), Foo()}) {} - } */ + } } +