[analyzer] NumberObjectConversion: support more types, misc updates.
authorArtem Dergachev <artem.dergachev@gmail.com>
Mon, 31 Oct 2016 03:08:48 +0000 (03:08 +0000)
committerArtem Dergachev <artem.dergachev@gmail.com>
Mon, 31 Oct 2016 03:08:48 +0000 (03:08 +0000)
commite14d881808528565c0fb683bf8a5a8a766441364
tree07e3c5c9534dea9e9a606abc1153cf1ffb3c12b1
parenta55333003d33ceb5857c315093bdd7e58af4ee92
[analyzer] NumberObjectConversion: support more types, misc updates.

Support CFNumberRef and OSNumber objects, which may also be accidentally
converted to plain integers or booleans.

Enable explicit boolean casts by default in non-pedantic mode.

Improve handling for warnings inside macros.

Improve error messages.

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

llvm-svn: 285533
clang/lib/StaticAnalyzer/Checkers/NumberObjectConversionChecker.cpp
clang/test/Analysis/number-object-conversion.c [new file with mode: 0644]
clang/test/Analysis/number-object-conversion.cpp
clang/test/Analysis/number-object-conversion.m