Possibly wrong verdict for benchmark c/busybox-1.22.0/wc-2.c
In benchmark c/busybox-1.22.0/wc-2.c the expected verdict for property unreach-call is said to be false according to busybox-1.22.0/wc-2.yml, but it should probably be true.
The reasoning is the following:
In line 1132 the variable u becomes 0 and it gets increased by 1 with each loop iteration. The variable u never has it's address taken and there are no jumps to the body of this loop, so the only line where u is changed is 1148. When u increases from 4 to 5, the loop will break and reach_error() will never be called.
This is a snippet from the benchmark:
u = (unsigned int)0;
while((_Bool)1)
{
if(!((print_type & (unsigned int)(1 << u)) == 0u))
{
printf(s, pcounts[(signed long int)u]);
s = " %9u";
}
if((signed long int)u < 5l)
(void)0;
else
/* assertion (signed long int)u < 5l */
{reach_error();}
totals[(signed long int)u] = totals[(signed long int)u] + pcounts[(signed long int)u];
u = u + 1u;
if(!(u < 5u))
break;
}