[deadstore] Do not report on __tmp

Reviewed By: mbouaziz

Differential Revision: D9482603

fbshipit-source-id: 303b74eb4
master
Daiva Naudziuniene 7 years ago committed by Facebook Github Bot
parent 40ab73037e
commit 8e753c2b74

@ -171,8 +171,11 @@ let checker {Callbacks.tenv; summary; proc_desc} : Summary.t =
false
in
let should_report pvar typ live_vars captured_by_ref_vars =
(* T32000971: a temporay fix for dead store false positives until we support __unused__ attribute *)
let is_unused_tmp_var pvar = String.equal "__tmp" (Pvar.to_string pvar) in
not
( Pvar.is_frontend_tmp pvar || Pvar.is_return pvar || Pvar.is_global pvar
|| is_unused_tmp_var pvar
|| VarSet.mem (Var.of_pvar pvar) captured_by_ref_vars
|| Domain.mem (Var.of_pvar pvar) live_vars
|| Procdesc.is_captured_var proc_desc pvar

@ -478,4 +478,16 @@ class Exceptions {
void init_in_binop_bad(int x) { x = -x & ~int{0}; }
void FN_unused_tmp_bad() {
// T32000971
int __tmp = 1;
}
#define UNUSED(a) __typeof__(&a) __attribute__((unused)) __tmp = &a;
void unused_attribute_ok() {
int x;
UNUSED(x);
}
} // namespace dead_stores

Loading…
Cancel
Save