diff options
| author | Ted Kremenek <kremenek@apple.com> | 2010-02-23 21:19:33 +0000 |
|---|---|---|
| committer | Ted Kremenek <kremenek@apple.com> | 2010-02-23 21:19:33 +0000 |
| commit | b4331a990859f0ca3995f1736eb3d05a85b7a60e (patch) | |
| tree | b16af246947a3a067396b3bfa8a5763db1f0bbcf /clang/test | |
| parent | 00fb2ce233dd3f182aa4365c77c2addf2a657262 (diff) | |
| download | bcm5719-llvm-b4331a990859f0ca3995f1736eb3d05a85b7a60e.tar.gz bcm5719-llvm-b4331a990859f0ca3995f1736eb3d05a85b7a60e.zip | |
Dead emit dead store warnings when assigning nil to an ObjC object
pointer (for defensive programming). This matches the behavior with
assigning NULL to a regular pointer. Fixes <rdar://problem/7631278>.
llvm-svn: 96985
Diffstat (limited to 'clang/test')
| -rw-r--r-- | clang/test/Analysis/dead-stores.m | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/clang/test/Analysis/dead-stores.m b/clang/test/Analysis/dead-stores.m index 765a24a3c35..701e5802b25 100644 --- a/clang/test/Analysis/dead-stores.m +++ b/clang/test/Analysis/dead-stores.m @@ -34,3 +34,10 @@ void DeadStoreTest(NSObject *anObject) { ([keys containsObject:@"name"] && [keys containsObject:@"icon"])) {} } +// This test case was a false positive due to how clang models +// pointer types and ObjC object pointer types differently. Here +// we don't warn about a dead store because 'nil' is assigned to +// an object pointer for the sake of defensive programming. +void rdar_7631278(NSObject *x) { + x = ((void*)0); +} |

