
A patch by Karthik Bhat! This patch fixes a regression introduced by r224398. Prior to r224398 we were able to analyze the following code in test-include.c and report a null deref in this case. But post r224398 this analysis is being skipped. E.g. // test-include.c #include "test-include.h" void test(int * data) { data = 0; *data = 1; } // test-include.h void test(int * data); This patch uses the function body (instead of its declaration) as the location of the function when deciding if the Decl should be analyzed with path-sensitive analysis. (Prior to r224398, the call graph was guaranteed to have a definition when available.) llvm-svn: 240800
14 lines
321 B
C++
14 lines
321 B
C++
// RUN: %clang_cc1 -analyze -analyzer-checker=core -verify %s
|
|
|
|
#include "test-include-cpp.h"
|
|
|
|
int TestIncludeClass::test1(int *p) {
|
|
p = 0;
|
|
return *p; // expected-warning{{Dereference of null pointer}}
|
|
}
|
|
|
|
int TestIncludeClass::test2(int *p) {
|
|
p = 0;
|
|
return *p; // expected-warning{{Dereference of null pointer}}
|
|
}
|