In theory, 'top' points at the top of stack and it's value is always greater
than or equal to 'stk' that points to stack bottom. Total stack size is
equal to 'DFA::nStates', which is of type uint32_t (DFAs larger than
2^32 states are currently not supported an will crash re2c).
In practice, 'stk' is not changed and 'top' is only incremented
before the cast (it's decremented afterwards. Note that the function
is self-recursive).
Fixes [-Wconversion] warning.
void SCC::traverse (State * x)
{
*top = x;
- uint32_t k = ++top - stk;
+ const uint32_t k = static_cast<uint32_t> (++top - stk);
x->depth = k;
for (uint32_t i = 0; i < x->go.nSpans; ++i)