[analyzer] NFC: Forbid array elements of void type.
authorArtem Dergachev <artem.dergachev@gmail.com>
Wed, 17 Jan 2018 22:40:36 +0000 (22:40 +0000)
committerArtem Dergachev <artem.dergachev@gmail.com>
Wed, 17 Jan 2018 22:40:36 +0000 (22:40 +0000)
commitdf1bb8a65d318f8552546221165404c3343424f7
tree6ea98420b36eb331632feb33c6348fad13616dc3
parent5579630275ce2fc64d0c7acd27789442728d6555
[analyzer] NFC: Forbid array elements of void type.

Represent the symbolic value for results of pointer arithmetic on void pointers
in a different way: instead of making void-typed element regions, make
char-typed element regions.

Add an assertion that ensures that no void-typed regions are ever constructed.

This is a refactoring of internals that should not immediately affect
the analyzer's (default) behavior.

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

llvm-svn: 322775
clang/include/clang/StaticAnalyzer/Core/PathSensitive/MemRegion.h
clang/lib/StaticAnalyzer/Core/ExprEngine.cpp
clang/lib/StaticAnalyzer/Core/SimpleSValBuilder.cpp