On Sat, Mar 19, 2016 at 15:59, Joel Sherrill <j...@rtems.org> wrote: > Hi > > GCC 6.0 previews give the indentation warning below > > ../../../../../rtems/c/src/libchip/network/sonic.c:837:11: warning: > statement is indented as if it were guarded by... [-Wmisleading-indentation] > > on this code from sonic.c. > > for (i = 0 ; i < 2 ; i++) { > if ((*sc->read_register)( rp, SONIC_REG_RRP ) == > (*sc->read_register)( rp, SONIC_REG_RSA )) > (*sc->write_register)( > rp, > SONIC_REG_RRP, > (*sc->read_register)( rp, SONIC_REG_REA ) > ); > (*sc->write_register)( > rp, > SONIC_REG_RRP, > (*sc->read_register)(rp, SONIC_REG_RRP) - > sizeof(ReceiveResource_t) > ); > } > > >From the comments, this code was written for RTEMS. Assuming it > works (and it did on both a DMV177 and erc32 Tharsys board), then > I am prone to add braces to the if and move the second write register > to the left.
I'd honestly rewrite that entire snippet :) for (i = 0; i < 2; ++i) { uint32_t rrp = (*sc->read_register)( rp, SONIC_REG_RRP ); const uint32_t rsa = (*sc->read_register)( rp, SONIC_REG_RSA ); if (rrp == rsa) { const uint32_t rea = (*sc->read_register)( rp, SONIC_REG_REA ); (*sc->write_register)( rp, SONIC_REG_RRP, rea ); } rrp = (*sc->read_register)(rp, SONIC_REG_RRP); (*sc->write_register)( rp, SONIC_REG_RRP, rrp - sizeof(ReceiveResource_t) ); } I re-read RRP because I don't know if it can change between both calls. _______________________________________________ devel mailing list devel@rtems.org http://lists.rtems.org/mailman/listinfo/devel