aboutsummaryrefslogtreecommitdiff
path: root/test/Analysis/method-call-path-notes.cpp
diff options
context:
space:
mode:
authorTed Kremenek <kremenek@apple.com>2012-09-07 06:51:37 +0000
committerTed Kremenek <kremenek@apple.com>2012-09-07 06:51:37 +0000
commitc47dc1b9734ea9bebb281499d58d22c2647713a9 (patch)
treec3b99282de2a677b2a315622a9565d45f752e849 /test/Analysis/method-call-path-notes.cpp
parent6964b3f80ce1ba489e7e25e7cd58062699af9b0c (diff)
Fix bug in ConditionBRVisitor where for C++ (and not C) we were not ignoring
implicit pointer-to-boolean conversions in condition expressions. This would result in inconsistent diagnostic emission between C and C++. A consequence of this is now ConditionBRVisitor and TrackConstraintBRVisitor may emit redundant diagnostics, for example: "Assuming pointer value is null" (TrackConstraintBRVisitor) "Assuming 'p' is null" (ConditionBRVisitor) We need to reconcile the two, and perhaps prefer one over the other in some cases. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@163372 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'test/Analysis/method-call-path-notes.cpp')
-rw-r--r--test/Analysis/method-call-path-notes.cpp4
1 files changed, 2 insertions, 2 deletions
diff --git a/test/Analysis/method-call-path-notes.cpp b/test/Analysis/method-call-path-notes.cpp
index 17034b9b00..b95ec98ec8 100644
--- a/test/Analysis/method-call-path-notes.cpp
+++ b/test/Analysis/method-call-path-notes.cpp
@@ -25,7 +25,7 @@ void test_ic_set_to_null() {
}
void test_ic_null(TestInstanceCall *p) {
- if (!p) // expected-note {{Assuming pointer value is null}} expected-note {{Taking true branch}}
+ if (!p) // expected-note {{Assuming pointer value is null}} expected-note {{Assuming 'p' is null}} expected-note {{Taking true branch}}
p->foo(); // expected-warning {{Called C++ object pointer is null}} expected-note{{Called C++ object pointer is null}}
}
@@ -37,7 +37,7 @@ void test_ic_member_ptr() {
}
void test_cast(const TestInstanceCall *p) {
- if (!p) // expected-note {{Assuming pointer value is null}} expected-note {{Taking true branch}}
+ if (!p) // expected-note {{Assuming pointer value is null}} expected-note {{Assuming 'p' is null}} expected-note {{Taking true branch}}
const_cast<TestInstanceCall *>(p)->foo(); // expected-warning {{Called C++ object pointer is null}} expected-note {{Called C++ object pointer is null}}
}