I'm not sure this cast is allowed.  How does GCC react to `int` -> `void *`?