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