summaryrefslogtreecommitdiffstats
path: root/clang/test
diff options
context:
space:
mode:
authorTed Kremenek <kremenek@apple.com>2009-07-21 21:03:30 +0000
committerTed Kremenek <kremenek@apple.com>2009-07-21 21:03:30 +0000
commitac7c7240f0baaae27cceed4084e789d70ef14ec2 (patch)
tree14dc1b6e0bc90cb318e47d24c85a3a4c7e4e1681 /clang/test
parentdf3f1447e424b6c1d2e5647b63afb5b52a41fc3e (diff)
downloadbcm5719-llvm-ac7c7240f0baaae27cceed4084e789d70ef14ec2.tar.gz
bcm5719-llvm-ac7c7240f0baaae27cceed4084e789d70ef14ec2.zip
Fix PR 4594 by refactoring almost all casting logic from GRExprEngine::VisitCast
to SValuator::EvalCast. In the process, the StoreManagers now use this new cast machinery, and the hack in GRExprEngine::EvalBind to handle implicit casts involving OSAtomicCompareAndSwap and friends has been removed (and replaced with logic closer to the logic specific to those functions). llvm-svn: 76641
Diffstat (limited to 'clang/test')
-rw-r--r--clang/test/Analysis/misc-ps.m9
1 files changed, 6 insertions, 3 deletions
diff --git a/clang/test/Analysis/misc-ps.m b/clang/test/Analysis/misc-ps.m
index 1eef2ba9688..de39a0004bc 100644
--- a/clang/test/Analysis/misc-ps.m
+++ b/clang/test/Analysis/misc-ps.m
@@ -437,7 +437,6 @@ void test_block_cast() {
(void (^)(void *))test_block_cast_aux(); // expected-warning{{expression result unused}}
}
-// ** THIS TEST FAILS **
// Test comparison of 'id' instance variable to a null void* constant after
// performing an OSAtomicCompareAndSwap32Barrier.
// This previously was a crash in RegionStoreManager.
@@ -454,5 +453,9 @@ void test_block_cast() {
}
@end
-
-
+// PR 4594 - This was a crash when handling casts in SimpleSValuator.
+void PR4594() {
+ char *buf[1];
+ char **foo = buf;
+ *foo = "test";
+}
OpenPOWER on IntegriCloud