
without prototypes. This patch converts the function signatures to have a prototype for the situations where the test is not specific to K&R C declarations. e.g., void func(); becomes void func(void); This is the ninth batch of tests being updated (there are a significant number of other tests left to be updated).
24 lines
475 B
C
24 lines
475 B
C
// RUN: %clang_analyze_cc1 %s \
|
|
// RUN: -analyzer-checker=core \
|
|
// RUN: -analyzer-checker=debug.ExprInspection \
|
|
// RUN: -verify
|
|
|
|
// Here, we test that symbol simplification in the solver does not produce any
|
|
// crashes.
|
|
// https://bugs.llvm.org/show_bug.cgi?id=51109
|
|
|
|
// expected-no-diagnostics
|
|
|
|
int a, b, c, d;
|
|
void f(void) {
|
|
a = -1;
|
|
d = b * a;
|
|
a = d / c;
|
|
if (a < 7 / b)
|
|
return;
|
|
if (d *a / c < 7 / b)
|
|
return;
|
|
if (b == 1 && c == -1)
|
|
return;
|
|
}
|