r176754 - [analyzer] Add test case for reference to null pointer param check
Anna Zaks
ganna at apple.com
Fri Mar 8 19:23:10 PST 2013
Author: zaks
Date: Fri Mar 8 21:23:10 2013
New Revision: 176754
URL: http://llvm.org/viewvc/llvm-project?rev=176754&view=rev
Log:
[analyzer] Add test case for reference to null pointer param check
This tests that we track the original Expr if getDerefExpr fails.
Modified:
cfe/trunk/test/Analysis/diagnostics/deref-track-symbolic-region.cpp
Modified: cfe/trunk/test/Analysis/diagnostics/deref-track-symbolic-region.cpp
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/Analysis/diagnostics/deref-track-symbolic-region.cpp?rev=176754&r1=176753&r2=176754&view=diff
==============================================================================
--- cfe/trunk/test/Analysis/diagnostics/deref-track-symbolic-region.cpp (original)
+++ cfe/trunk/test/Analysis/diagnostics/deref-track-symbolic-region.cpp Fri Mar 8 21:23:10 2013
@@ -14,3 +14,15 @@ void test(S *p) {
r.y = 5; // expected-warning {{Access to field 'y' results in a dereference of a null pointer (loaded from variable 'r')}}
// expected-note at -1{{Access to field 'y' results in a dereference of a null pointer (loaded from variable 'r')}}
}
+
+void testRefParam(int *ptr) {
+ int &ref = *ptr; // expected-note {{'ref' initialized here}}
+ if (ptr)
+ // expected-note at -1{{Assuming 'ptr' is null}}
+ // expected-note at -2{{Taking false branch}}
+ return;
+
+ extern void use(int &ref);
+ use(ref); // expected-warning{{Forming reference to null pointer}}
+ // expected-note at -1{{Forming reference to null pointer}}
+}
\ No newline at end of file
More information about the cfe-commits
mailing list