On Tue, Mar 22, 2016 at 10:25 AM, Martin Galvan < martin.gal...@tallertechnologies.com> wrote:
> 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. > If you want to submit a patch and reference this email thread URL so future generations know what was discussed, feel free. :) --joel
_______________________________________________ devel mailing list devel@rtems.org http://lists.rtems.org/mailman/listinfo/devel