void TransferFunctions::reportConstRefUse(const Expr *ex, const VarDecl *vd) {
Value v = vals[vd];
- if (isUninitialized(v))
+ if (isAlwaysUninit(v))
handler.handleConstRefUseOfUninitVariable(vd, getUninitUse(ex, vd, v));
}
A const_use_A(const A a);
int const_use(const int i);
-void f() {
+void f(int a) {
int i;
const_ref_use(i); // expected-warning {{variable 'i' is uninitialized when passed as a const reference argument here}}
int j = j + const_ref_use(j); // expected-warning {{variable 'j' is uninitialized when used within its own initialization}} expected-warning {{variable 'j' is uninitialized when passed as a const reference argument here}}
A a5;
const_ref_use_A(a5);
+
+ int m;
+ if (a < 42)
+ m = 1;
+ const_ref_use(m);
}