diff options
author | Anna Zaks <ganna@apple.com> | 2012-05-21 22:07:00 +0000 |
---|---|---|
committer | Anna Zaks <ganna@apple.com> | 2012-05-21 22:07:00 +0000 |
commit | 13dd47a0c01f8b4a6b3fbe379218f7ba8e692d0f (patch) | |
tree | a18fab489234ac22c8b7c37e1a8a220aae39223d | |
parent | cae1c623b638f91e848ed81a2510b86b403992e4 (diff) |
[analyzer] Bind UnknownVal to InitListExpr for unsupported types
(ex: float).
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@157211 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r-- | lib/StaticAnalyzer/Core/ExprEngineC.cpp | 6 | ||||
-rw-r--r-- | test/Analysis/cxx11-crashes.cpp | 5 |
2 files changed, 9 insertions, 2 deletions
diff --git a/lib/StaticAnalyzer/Core/ExprEngineC.cpp b/lib/StaticAnalyzer/Core/ExprEngineC.cpp index 8a02b2ca96..2e3e9f51e7 100644 --- a/lib/StaticAnalyzer/Core/ExprEngineC.cpp +++ b/lib/StaticAnalyzer/Core/ExprEngineC.cpp @@ -568,8 +568,10 @@ void ExprEngine::VisitInitListExpr(const InitListExpr *IE, state->getSVal(initEx, LCtx))); return; } - - llvm_unreachable("unprocessed InitListExpr type"); + + assert(IE->getNumInits() == 1); + B.generateNode(IE, Pred, state->BindExpr(IE, LCtx, UnknownVal())); + return; } void ExprEngine::VisitGuardedExpr(const Expr *Ex, diff --git a/test/Analysis/cxx11-crashes.cpp b/test/Analysis/cxx11-crashes.cpp index 6e60ac63cc..a7bfe4ebe5 100644 --- a/test/Analysis/cxx11-crashes.cpp +++ b/test/Analysis/cxx11-crashes.cpp @@ -31,3 +31,8 @@ void radar11487541() { namespace fs = boost::filesystem; fs::path p; } + +// PR12873 radrar://11499139 +void testFloatInitializer() { + const float ysize={0.015}, xsize={0.01}; +} |