Hello,
On Mon, Aug 7, 2017 at 12:25 PM, Lauri Kasanen <[email protected]> wrote: > On Mon, 7 Aug 2017 12:09:45 +0200 (CEST) > Johannes Schindelin <[email protected]> wrote: >> Meaning: GCC gets this all wrong and should not complain. So let's force >> it to be quiet for a couple of lines. > > I believe this is both wrong and dangerous. If gcc warns about it, it > will also very likely try to mis-optimize the same case. > > - Lauri I tried to carefully read the code, and I don't see where the aliasing issue migh be. * buf is an uin8_t [] * the code either use it as is, or promote it to const uint8_t *, or cast it to (const) char *. All of these types are compatible w.r.t. aliasing (and the C99 standard). I may have missed something though and my eyes might be rusted. Now, it seems that some might have seen a regression in GCC with respect to aliasing rules [1][2]. This might be an instance of the bug (according to the bug report, it's no longer reproducible in GCC trunk). Anyway, it might be a good idea to avoid unsetting the warning for one buggy GCC version :) Best regards, -- Emmanuel Deloget [1] https://gcc.gnu.org/bugzilla/show_bug.cgi?id=80593 [2] https://gcc.gnu.org/bugzilla/show_bug.cgi?id=80633 _______________________________________________ busybox mailing list [email protected] http://lists.busybox.net/mailman/listinfo/busybox
