On Mär 30 2026, Sam James wrote:

> The issue is REVERSE_LIST [1] calls list_reverse [2] which reverses the
> linked list while doing accesses as GENERIC_LIST* [3], but the original
> elements are PROCESS*.
>
> I think GCC has an exemption for doing this with void* but even that
> isn't required to work by the standard. I think it either needs to be
> done with char* or with GENERIC_LIST* marked with
> __attribute__((may_alias)) (though that isn't portable).

The portable way is to create a union out of the two types that share
the initial member that is accessed by the REVERSE_LIST macro.

-- 
Andreas Schwab, [email protected]
GPG Key fingerprint = 7578 EB47 D4E5 4D69 2510  2552 DF73 E780 A9DA AEC1
"And now for something completely different."

Reply via email to