80de487e03dd0f44e4572e2122ebc1aa6a3961f5 |
|
29-Aug-2012 |
Anna Zaks <ganna@apple.com> |
[analyzer] Improved diagnostic pruning for calls initializing values. This heuristic addresses the case when a pointer (or ref) is passed to a function, which initializes the variable (or sets it to something other than '0'). On the branch where the inlined function does not set the value, we report use of undefined value (or NULL pointer dereference). The access happens in the caller and the path through the callee would get pruned away with regular path pruning. To solve this issue, we previously disabled diagnostic pruning completely on undefined and null pointer dereference checks, which entailed very verbose diagnostics in most cases. Furthermore, not all of the undef value checks had the diagnostic pruning disabled. This patch implements the following heuristic: if we pass a pointer (or ref) to the region (on which the error is reported) into a function and it's value is either undef or 'NULL' (and is a pointer), do not prune the function. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@162863 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/Analysis/diagnostics/undef-value-caller.c
|
7453a72cd0dcc70f29006ba488b743f078072bc7 |
|
06-Jun-2012 |
Ted Kremenek <kremenek@apple.com> |
PlistDiagnostics: force the ranges for control-flow edges to be single locations, forcing adjacent edges to have compatible ranges. This simplifies the layout logic for some clients. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@158028 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/Analysis/diagnostics/undef-value-caller.c
|
d5edd849b6003b97e0e1ee5cf964c10affbe6bce |
|
04-Jun-2012 |
Anna Zaks <ganna@apple.com> |
[analyzer] Fixup for r157950. Unbreak the bots. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@157954 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/Analysis/diagnostics/undef-value-caller.c
|
0344e5423db6dbb614f057887be714d2c0f7f0f6 |
|
04-Jun-2012 |
Anna Zaks <ganna@apple.com> |
[analyzer] Fix a diagnostics bug which lead to a crash on the buildbot. This bug was triggered by r157851. It only happens in the case where we don't perform optimal diagnostic pruning. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@157950 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/Analysis/diagnostics/undef-value-caller.c
|