27 lines
551 B
C
27 lines
551 B
C
|
// RUN: %clang_analyze_cc1 -analyzer-checker=core,debug.ExprInspection -verify %s
|
||
|
|
||
|
void clang_analyzer_eval(int);
|
||
|
|
||
|
void callee(void **p) {
|
||
|
int x;
|
||
|
*p = &x;
|
||
|
}
|
||
|
|
||
|
void loop() {
|
||
|
void *arr[2];
|
||
|
for (int i = 0; i < 2; ++i)
|
||
|
callee(&arr[i]);
|
||
|
// FIXME: Should be UNKNOWN.
|
||
|
clang_analyzer_eval(arr[0] == arr[1]); // expected-warning{{FALSE}}
|
||
|
}
|
||
|
|
||
|
void loopWithCall() {
|
||
|
void *arr[2];
|
||
|
for (int i = 0; i < 2; ++i) {
|
||
|
int x;
|
||
|
arr[i] = &x;
|
||
|
}
|
||
|
// FIXME: Should be UNKNOWN.
|
||
|
clang_analyzer_eval(arr[0] == arr[1]); // expected-warning{{TRUE}}
|
||
|
}
|