christos@ wrote: > | Taylor claims the existing abcksum() also violates aliasing rule. > | http://mail-index.netbsd.org/source-changes-d/2014/11/23/msg007402.html > | > | If he is correct it's no sense to tweak only functions complained > | by current gcc48. > > Yes, both solutions (your post and the existing checksum function > (with our without my changes)) violate strict aliasing rules since > they go from uint8_t * -> void * -> uint16_t *. Currently this > works with gcc and there are no warnings, but it is not safe. The > sanctioned solutions are to use unions of the memory block types > or memcpy().
Then you don't have any patch for existing (and not warned) abcksum(). Are you also okay to specify -fno-strict-aliasing with the original code as I and mrg (and now Taylor) suggest, rather than patching only warned assignments? --- Izumi Tsutsui