Ted Kremenek
35c70f64db
Teach CFGBuilder that the 'default' branch of a switch statement is dead if all enum values in a switch conditioned are handled.
...
llvm-svn: 127727
2011-03-16 04:32:01 +00:00
Ted Kremenek
be52871b1a
Correctly handle nested switch statements in CFGBuilder when on switch statement has a condition that evaluates to a constant.
...
llvm-svn: 126977
2011-03-04 01:03:41 +00:00
Ted Kremenek
eff9a7ff91
Teach CFGBuilder to prune trivially unreachable case statements.
...
llvm-svn: 126797
2011-03-01 23:12:55 +00:00
Ted Kremenek
df26df726e
For C++, enhance -Warray-bounds to recursively analyze array subscript accesses in ?: expressions.
...
llvm-svn: 126766
2011-03-01 18:41:00 +00:00
Ted Kremenek
e4b316c15c
Fix bogus -Warray-bounds warning involving 'array[true]' reported in PR 9296.
...
llvm-svn: 126341
2011-02-23 23:06:04 +00:00
Ted Kremenek
477c8f5440
Add test case for PR 9284, a false positive for -Warray-bounds that is now addressed using basic reachability analysis.
...
llvm-svn: 126291
2011-02-23 01:52:07 +00:00
Ted Kremenek
3427fac7c8
Enhance Sema::DiagRuntimeBehavior() to delay some diagnostics to see if the related code is reachable. This suppresses some
...
diagnostics that occur in unreachable code (e.g., -Warray-bound).
We only pay the cost of doing the reachability analysis when we issue one of these diagnostics.
llvm-svn: 126290
2011-02-23 01:52:04 +00:00
Ted Kremenek
a7ced2cb4c
Fix assertion failure on -Warray-bounds for 32-bit builds of Clang.
...
llvm-svn: 125821
2011-02-18 02:27:00 +00:00
Ted Kremenek
48d9626055
Add -Warray-bounds test showing how the warning currently interoperates with macros.
...
llvm-svn: 125781
2011-02-17 21:40:51 +00:00
Chandler Carruth
1af88f12a3
Enhance the array bounds checking to work for several other constructs,
...
especially C++ code, and generally expand the test coverage.
Logic adapted from a patch by Kaelyn Uhrain <rikka@google.com> and
another Googler.
llvm-svn: 125775
2011-02-17 21:10:52 +00:00
Ted Kremenek
197fcd4418
Fix assertion failure in -Warray-bounds on template parameters used as arrays.
...
llvm-svn: 125693
2011-02-16 23:39:09 +00:00