| To: | Justin Carlson <justinca@ri.cmu.edu> |
|---|---|
| Subject: | Re: PATCH: io.h remove detrimental do {...} whiles, add sequence points, add const modifiers |
| From: | Jim Paris <jim@jtan.com> |
| Date: | Fri, 7 Dec 2001 14:43:43 -0500 |
| Cc: | linux-mips@oss.sgi.com |
| In-reply-to: | <1007753789.1680.1.camel@GLOVEBOX.AHS.RI.CMU.EDU>; from justinca@ri.cmu.edu on Fri, Dec 07, 2001 at 02:36:28PM -0500 |
| References: | <20011207121416.A9583@dev1.ltc.com> <Pine.GSO.4.21.0112071830000.29896-100000@mullein.sonytel.be> <20011207123833.A23784@nevyn.them.org> <20011207160636.B23798@dea.linux-mips.net> <20011207131521.A3942@neurosis.mit.edu> <1007753789.1680.1.camel@GLOVEBOX.AHS.RI.CMU.EDU> |
| Reply-to: | jim@jtan.com |
| Sender: | owner-linux-mips@oss.sgi.com |
| User-agent: | Mutt/1.2.5i |
> Maybe I missed this, but is there any reason for the patch, other then
> a personal preference of how to do macros that look like functions?
> I've seen gcc do strange non-optimal things with functions declared
> inlines, but I've never seen it generate bad code WRT to do{}while(0)
> constructs.
>
> Unless I'm missing something, this patch looks like a solution in search
> of a problem...
In the case of set_io_port_base, I see no real reason. But for the
out[b,w,l] functions, having the do/while can prevent constructs that
might otherwise make sense, like
for(i=0;i<10;i++,outb(i,port)) {
...
}
Okay, so it's a bad example, but.. :) Maybe Brad has a better one.
-jim
|
| Previous by Date: | Re: not getting the kernel prompt, James Simmons |
|---|---|
| Next by Date: | Re: not getting the kernel prompt, balaji . ramalingam |
| Previous by Thread: | Re: PATCH: io.h remove detrimental do {...} whiles, add sequence points, add const modifiers, Justin Carlson |
| Next by Thread: | Re: PATCH: io.h remove detrimental do {...} whiles, add sequence points, add const modifiers, Bradley D. LaRonde |
| Indexes: | [Date] [Thread] [Top] [All Lists] |