On Thursday, 23 April 2015 at 14:55:42 UTC, Iain Buclaw wrote:
There are two states each local variable can be assigned.
1. Used
2. Read
int a = 1; // a = Used
return a; // a = Read
printf("%d\n", a); // a = Read
int b = a; // b = Used, a = Read
int c = void; // c = Unused
If a variable is unused, it's a dead variable. If a variable
is used
but not read, it's a dead variable. Simple. :-)
Proving how indexing of an array hits the array in a nontrivial
loop is intractable for large N (any parameter you like).
(you also don't deal with binary true/false, but three outcomes:
satisfiable, unsatisfiable and unknown)