[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Xen-devel] [PATCH 1/4] hvmloader: Fixup pci_write* macros



On Mon, 15 Jun 2015 16:23:13 +0100 Jan Beulich wrote:
> >>> On 15.06.15 at 16:35, <andrew.cooper3@xxxxxxxxxx> wrote:
> > On 15/06/15 15:30, Don Slutz wrote:
> >> On 06/15/15 10:19, Andrew Cooper wrote:
> >>> Furthermore, what about devfn or reg?
> >>>
> >> devfn and reg do not need the bracketing since they are just passed,
> >> but I have no issue with adding the extra brackets.
> > 
> > Macros, under all circumstances, should have all of their parameters
> > bracketed for safety.
> 
> No, as this harms readability:
> 
> #define macro(x) function((x))
> 
> would completely pointlessly be having an extra set of parentheses.
> And
> 
> #define macro(x, y) function(x, y)
> 
> is just the logical extension to that: There is nothing the expressions
> passed as arguments could contain to require parenthesization, as
> there's no operator of precedence lower than comma (and if either
> argument contains a comma expression, it needs to be
> parenthesized at the invocation site anyway).

I think parenthesis are just long term guards against classic surprises
such as:

#define macro(x) function(x * 2)
...
macro(N + 3)

You could treat this case separately though, but people often go for the
"good practice".

-- 
Mihai DonÈu

_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel

 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.