On Thu, 26 Nov 2020, Peter Maydell wrote: > On Thu, 26 Nov 2020 at 11:30, <marcandre.lur...@redhat.com> wrote: > > > > From: Marc-André Lureau <marcandre.lur...@redhat.com> > > > > QEMU requires Clang or GCC, that define and support __GNUC__ extensions > > > > Signed-off-by: Marc-André Lureau <marcandre.lur...@redhat.com> > > --- > > include/hw/xen/interface/io/ring.h | 9 --------- > > 1 file changed, 9 deletions(-) > > >From QEMU's POV this change is good, but this header seems to have > originally been an import from the Xen public headers -- are we > happy to diverge from that original or do we prefer to stay as > close as possible to the upstream header? Cc'ing the Xen maintainers > for their opinion.
Small divergences are not a problem. I think this is OK. > > diff --git a/include/hw/xen/interface/io/ring.h > > b/include/hw/xen/interface/io/ring.h > > index 5d048b335c..115705f3f4 100644 > > --- a/include/hw/xen/interface/io/ring.h > > +++ b/include/hw/xen/interface/io/ring.h > > @@ -206,21 +206,12 @@ typedef struct __name##_back_ring __name##_back_ring_t > > #define RING_HAS_UNCONSUMED_RESPONSES(_r) \ > > ((_r)->sring->rsp_prod - (_r)->rsp_cons) > > > > -#ifdef __GNUC__ > > #define RING_HAS_UNCONSUMED_REQUESTS(_r) ({ \ > > unsigned int req = (_r)->sring->req_prod - (_r)->req_cons; \ > > unsigned int rsp = RING_SIZE(_r) - \ > > ((_r)->req_cons - (_r)->rsp_prod_pvt); \ > > req < rsp ? req : rsp; \ > > }) > > -#else > > -/* Same as above, but without the nice GCC ({ ... }) syntax. */ > > -#define RING_HAS_UNCONSUMED_REQUESTS(_r) \ > > - ((((_r)->sring->req_prod - (_r)->req_cons) < \ > > - (RING_SIZE(_r) - ((_r)->req_cons - (_r)->rsp_prod_pvt))) ? \ > > - ((_r)->sring->req_prod - (_r)->req_cons) : \ > > - (RING_SIZE(_r) - ((_r)->req_cons - (_r)->rsp_prod_pvt))) > > -#endif > > > > /* Direct access to individual ring elements, by index. */ > > #define RING_GET_REQUEST(_r, _idx) \