[analyzer] Support C++17 aggregates with bases without constructors.
authorArtem Dergachev <artem.dergachev@gmail.com>
Fri, 15 Mar 2019 00:22:59 +0000 (00:22 +0000)
committerArtem Dergachev <artem.dergachev@gmail.com>
Fri, 15 Mar 2019 00:22:59 +0000 (00:22 +0000)
commit06451368d2f0efb723ac4dc392c705b787f56253
treea72120cd39addca72d772ae761e1eb69a0aa9900
parent3d70a2b7d1624edc35c1ba607edf57b6cff3d299
[analyzer] Support C++17 aggregates with bases without constructors.

RegionStore now knows how to bind a nonloc::CompoundVal that represents the
value of an aggregate initializer when it has its initial segment of sub-values
correspond to base classes.

Additionally, fixes the crash from pr40022.

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

llvm-svn: 356222
clang/lib/StaticAnalyzer/Core/RegionStore.cpp
clang/test/Analysis/array-struct-region.cpp