rt_gccstream/gcc/testsuite/gcc.c-torture/compile/pr31797.c

32 lines
543 B
C

struct GTeth_desc
{
unsigned ed_cmdsts;
};
struct GTeth_softc
{
struct GTeth_desc txq_desc[32];
unsigned int txq_fi;
unsigned int txq_nactive;
};
void
GTeth_txq_free (struct GTeth_softc *sc)
{
struct GTeth_desc *txd = &sc->txq_desc[0];
txd->ed_cmdsts &= ~(1U << (31));
}
void
GTeth_txq_done (struct GTeth_softc *sc)
{
while (sc->txq_nactive > 0)
{
volatile struct GTeth_desc *txd = &sc->txq_desc[sc->txq_fi];
if (txd->ed_cmdsts)
{
if (sc->txq_nactive == 1)
return;
}
GTeth_txq_free (sc);
}
}