Platform set to "OTHER" as primarily affects VAX. The ino_t type on OpenVMS VAX is 48 bits and can not be represented as an integer type, as the largest integer type that can be handled by the compiler is 32 bits. The supplied OpenVMS header files provide the ino_t type as unsigned short [3]. It is also possible to provide an alternate representation of the ino_t type as a structure containing three unsigned short members. This is essentially also the case for OpenVMS on Alpha prior to Version 8.2. In order to accomodate OpenVMS VAX, etcetera, memcpy() and memcmp() need to used on ino_t operations, or loss of data will occur. As the overhead for memcpy() and memcmp() (assuming the compiler does not optimize the calls) is not needed for other cases, including OpenVMS 8.2 on Alpha and Itaninum, the proposed change would be to use a set of macros to do the assignment and comparison. These macros would default to making a direct assignment or compare, unless there is an existing macro defined in the config.h file.
If it's still broken in 3.5, please reopen. 3.0 isn't supported anymore.