summaryrefslogtreecommitdiffstats
path: root/clang/lib/Analysis/UninitializedValuesV2.cpp
Commit message (Collapse)AuthorAgeFilesLines
* Rename UninitializedValuesV2 to UninitializedValues.Ted Kremenek2011-03-151-611/+0
| | | | llvm-svn: 127657
* Add support for the OpenCL vec_step operator, by generalising andPeter Collingbourne2011-03-111-3/+4
| | | | | | | extending the existing support for sizeof and alignof. Original patch by Guy Benyei. llvm-svn: 127475
* In preparation for fixing PR 6884, rework CFGElement to have getAs<> return ↵Ted Kremenek2011-03-011-2/+2
| | | | | | | | | pointers instead of fresh CFGElements. - Also, consoldiate getDtorKind() and getKind() into one "kind". - Add empty getDestructorDecl() method to CFGImplicitDtor. llvm-svn: 126738
* Enhance -Wuninitialized to better reason about || and &&, tracking dual ↵Ted Kremenek2011-02-011-38/+61
| | | | | | | | dataflow facts and properly merging them. Fixes PR 9076. llvm-svn: 124666
* Teach -Wuninitialized about indirect goto. Fixes PR 9071.Ted Kremenek2011-01-271-2/+2
| | | | llvm-svn: 124394
* Teach -Wuninitialized not to assert when analyzingTed Kremenek2011-01-271-8/+15
| | | | | | blocks that reference captured variables. llvm-svn: 124348
* Teach -Wuninitialized about ObjC fast enumeration loops.Ted Kremenek2011-01-271-9/+38
| | | | llvm-svn: 124347
* Tweak -Wuninitialized-experimental to not emitTed Kremenek2011-01-261-3/+13
| | | | | | | a warning for uses of an uninitialized variable when the use is a void cast, e.g. (void) x. llvm-svn: 124278
* Teach -Wuninitialized-experimental to also warnTed Kremenek2011-01-251-8/+31
| | | | | | about uninitialized variables captured by blocks. llvm-svn: 124213
* Teach -Wuninitialized-experimental about sizeof().Ted Kremenek2011-01-231-0/+10
| | | | llvm-svn: 124076
* Removing debug printing logic from UninitializedValuesV2.Ted Kremenek2011-01-201-16/+0
| | | | llvm-svn: 123944
* Relax CFG assertions in UninitializedValuesV2 whenTed Kremenek2011-01-201-14/+13
| | | | | | | | | | | handling pseudo-path sensitivity, and instead use those assertion conditions as dynamic checks. These assertions would be violated when analyzing a CFG where some branches where optimized away during CFG construction because their branch conditions could be trivially determined. llvm-svn: 123943
* Add rudimentary path-sensitivity to UnintializedValuesV2Ted Kremenek2011-01-201-17/+120
| | | | | | | | | | | | analysis for short-circuited operations. For branch written like "if (x && y)", we maintain two sets of dataflow values for the outgoing branches. This suppresses some common false positives for -Wuninitialized-experimental. This change introduces some assertion failures when running on the LLVM codebase. WIP. llvm-svn: 123923
* Teach UninitializedValuesV2 to implicitly reason about C++Ted Kremenek2011-01-181-12/+64
| | | | | | | | references by monitoring whether an access to a variable is solely to compute it's lvalue or to do an lvalue-to-rvalue conversion (i.e., a load). llvm-svn: 123777
* Correctly enable test/Sema/unit-variables.c,Ted Kremenek2011-01-181-1/+3
| | | | | | | thus identifying a minor logical flaw in UninitializedValuesV2.cpp. llvm-svn: 123734
* Teach UninitializedValuesV2 about "int x = x" andTed Kremenek2011-01-181-8/+14
| | | | | | also properly handle confluence of loops. llvm-svn: 123733
* Unbreak the MSVC build again: replace bzero by memset.Francois Pichet2011-01-151-1/+1
| | | | llvm-svn: 123538
* Add initial prototype for implementation ofTed Kremenek2011-01-151-0/+362
-Wuninitialized based on CFG dataflow analysis. WIP. llvm-svn: 123512
OpenPOWER on IntegriCloud