HomePhabricator

[analyzer] Start fixing modeling of bool based types

Description

[analyzer] Start fixing modeling of bool based types

This is a follow up for one of
the previous diffs https://reviews.llvm.org/D32328.
getTypeSize and with getIntWidth are not equivalent for bool
(see https://clang.llvm.org/doxygen/ASTContext_8cpp_source.html#l08444),
this causes a number of issues
(for instance, if APint X representing a bool is created
with the wrong bit width then X is not comparable against Min/Max
(because of the different bit width), that results in crashes
(triggered asserts) inside assume* methods),
for examples see the newly added test cases.

Test plan: make check-all

Differential revision: https://reviews.llvm.org/D35041

Details

Committed
alexshapJul 10 2017, 5:30 PM
Differential Revision
D35041: [analyzer] Fix modeling of bool based types
Parents
rC307603: [clang-import-test] Test that enumerators and their values are found.
Branches
Unknown
Tags
Unknown