summaryrefslogtreecommitdiffstats
path: root/clang/test/Analysis/casts.cpp
Commit message (Collapse)AuthorAgeFilesLines
* [analyzer] Fix test in previous commit to account for compiler warning.Jordan Rose2013-12-191-2/+6
| | | | | | --analyze passes -w, but -cc1 -analyze doesn't. Oops! llvm-svn: 197741
* [analyzer] Always use 'bool' as the SValBuilder condition type in C++.Jordan Rose2013-12-191-0/+7
| | | | | | | | | We have assertions for this, but a few edge cases had snuck through where we were still unconditionally using 'int'. <rdar://problem/15703011> llvm-svn: 197733
* [analyzer] Don't even try to convert floats to booleans for now.Jordan Rose2013-09-181-0/+12
| | | | | | | | | | | We now have symbols with floating-point type to make sure that (double)x == (double)x comes out true, but we still can't do much with these. For now, don't even bother trying to create a floating-point zero value; just give up on conversion to bool. PR14634, C++ edition. llvm-svn: 190953
* Revert "[analyzer] Treat LValueBitCasts like regular pointer bit casts."Jordan Rose2012-06-121-36/+0
| | | | | | | | | This does not actually give us the right behavior for reinterpret_cast of references. Reverting so I can think about it some more. This reverts commit 50a75a6e26a49011150067adac556ef978639fe6. llvm-svn: 158341
* [analyzer] Treat LValueBitCasts like regular pointer bit casts.Jordan Rose2012-06-111-0/+36
These casts only appear in very well-defined circumstances, in which the target of a reinterpret_cast or a function formal parameter is an lvalue reference. According to the C++ standard, the following are equivalent: reinterpret_cast<T&>( x) *reinterpret_cast<T*>(&x) [expr.reinterpret.cast]p11 llvm-svn: 158338
OpenPOWER on IntegriCloud