[analyzer] pr34766: Fix a crash on explicit std::initializer_list constructor.
authorArtem Dergachev <artem.dergachev@gmail.com>
Mon, 27 Nov 2017 17:37:09 +0000 (17:37 +0000)
committerArtem Dergachev <artem.dergachev@gmail.com>
Mon, 27 Nov 2017 17:37:09 +0000 (17:37 +0000)
commit052436f76868808789b403a246a60859d5c9c60f
tree780dd4457ab778f49607536db984961d911573bf
parent85db2bf7b6e59e0d3a419c713010e31e5460ae55
[analyzer] pr34766: Fix a crash on explicit std::initializer_list constructor.

We didn't support the following syntax:

  (std::initializer_list<int>){12}

which suddenly produces CompoundLiteralExpr that contains
CXXStdInitializerListExpr.

Lift the assertion and instead pass the value through CompoundLiteralExpr
transparently, as it doesn't add much.

Differential Revision: https://reviews.llvm.org/D39803

llvm-svn: 319058
clang/lib/StaticAnalyzer/Core/ExprEngineC.cpp
clang/test/Analysis/initializer.cpp