[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH 1/4] hvmloader: Fixup pci_write* macros
>>> On 15.06.15 at 18:09, <mihai.dontu@xxxxxxxxx> wrote: > 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) There is no question that x needs to be parenthesized in the example you give; that does in no way mean _all_ macro parameters need to follow that, which is what my earlier reply was trying to explain. Jan _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx http://lists.xen.org/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |