> What's the main potential problem you see? The backwards condition: > > (fieldmode == BLKmode ? BYTES_BIG_ENDIAN : WORDS_BIG_ENDIAN) > > should apply the same bit-for-bit mapping between source and target > as the patch applies.
Not if the objects don't have the same size. In Ada we have BLKmode bitfields, i.e. fields whose type has BLKmode and whose DECL_SIZE is smaller than the TYPE_SIZE of the type; in this case, we want to drop the rightmost bytes in memory order, whatever the endianness. -- Eric Botcazou