Date: Tue, 23 Mar 2004 23:31:36 +0600 From: Alexey Dokuchaev <danfe@nsu.ru> To: "M. Warner Losh" <imp@bsdimp.com> Cc: nate@root.org Subject: Re: cvs commit: src/sys/amd64/isa atpic.c src/sys/contrib/dev/oltr if_oltr.c src/sys/dev/aac aac_pci.c src/sys/dev/acpic Message-ID: <20040323173136.GA88405@regency.nsu.ru> In-Reply-To: <20040323.102416.32179617.imp@bsdimp.com> References: <20040322102119.P33645@root.org> <20040322191542.CD8DE16A4CF@hub.freebsd.org> <20040323130235.GB39851@regency.nsu.ru> <20040323.102416.32179617.imp@bsdimp.com>
next in thread | previous in thread | raw e-mail | index | archive | help
On Tue, Mar 23, 2004 at 10:24:16AM -0700, M. Warner Losh wrote: > In message: <20040323130235.GB39851@regency.nsu.ru> > Alexey Dokuchaev <danfe@nsu.ru> writes: > : On Mon, Mar 22, 2004 at 11:15:42AM -0800, Bill Paul wrote: > : > > : > This is the entire bus_alloc_resource_any() function: > : > > : > static __inline struct resource * > : > bus_alloc_resource_any(device_t dev, int type, int *rid, u_int flags) > : > { > : > return (bus_alloc_resource(dev, type, rid, 0ul, ~0ul, 1, flags)); > : > } > : > > : > Please to be explaining why this isn't a macro: > : > > : > #define bus_alloc_resource_any(dev, type, rid, flags) \ > : > bus_alloc_resource(dev, type, rid, 0ul, ~0ul, 1, flags) > : > : Pardon my sneaking in discussion, but I also wonder why isn't this a > : macro? I probably should blame myself for not looking at the actual > : diff when I received your commit message, but I was pretty sure that > : you've just added a macro like Bill suggested above. > > As has been explained, macros are less safe than inlines. The above > implementation suffers from a lack of (), for example. gcc and most > other modern compilers generate identical code in both these cases and > the inline gives a scoping that the macro does not. Thanks, I should probably read all my cvs-all@ mail before replying to the earliest ones. ./danfe
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20040323173136.GA88405>