I can confirm that it never finishes on i586.
I would recommend to replace DEBUG_ASSERT (num >= 0);
which expands to:
((num >= 0) ? (void) 0 : __builtin_unreachable ());
into:
if (num < 0)
__builtin_abort ();
From GCC documentation:
If control flow reaches the point of the __builtin_
On 1/18/20 6:44 AM, Martin Liška wrote:
I can confirm that it never finishes on i586.
I can't reproduce the problem, either on Ubuntu 18.04.3 x86-64 (GCC Ubuntu
7.4.0-1ubuntu1~18.04.1) or on Fedora 31 (GCC 9.2.1 20190827 x86-64 (Red Hat
9.2.1-1)). I did what should have been the equivalent of