verify intptr_t round-trip through void *
Round-trip of intptr_t
through void *
isn't explicitly guaranteed by C99. There are implementation-defined behaviors for integer to void *
, and vice versa. Only a round-trip of void *
through intptr_t
is guaranteed, not vice versa. We seem to depend on being able to store an integer in a void *
from time to time, e.g., to store integers in a smartlist.
We should run some automated tests to make sure this works as we expect, at least until we stop needing this behavior. (See also #23714 (moved).)