lkml.org 
[lkml]   [2007]   [Jan]   [7]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [PATCH] math-emu/setcc: avoid gcc extension
On Sun, Jan 07, 2007 at 11:19:00AM -0800, Randy Dunlap wrote:
> On Sun, 7 Jan 2007 20:12:42 +0100 Segher Boessenkool wrote:
>
> > There's an extra tab in that last line. Could you also
> > please fix the indenting (use a tab, not spaces) -- I know
> > it was there originally, but since there are only a few
> > lines in that file like that... :-)
>
> how's this one?
> ---
> From: Randy Dunlap <randy.dunlap@oracle.com>
>
> setcc() in math-emu is written as a gcc extension statement expression
> macro that returns a value. However, it's not used that way and it's
> not needed like that, so just make it a do-while non-extension macro
> so that we don't use an extension when it's not needed.
>
> Signed-off-by: Randy Dunlap <randy.dunlap@oracle.com>
> ---
> arch/i386/math-emu/status_w.h | 5 +++--
>
> ---
> arch/i386/math-emu/status_w.h | 7 ++++---
> 1 file changed, 4 insertions(+), 3 deletions(-)
>
> --- linux-2620-rc2.orig/arch/i386/math-emu/status_w.h
> +++ linux-2620-rc2/arch/i386/math-emu/status_w.h
> @@ -48,9 +48,10 @@
>
> #define status_word() \
> ((partial_status & ~SW_Top & 0xffff) | ((top << SW_Top_Shift) & SW_Top))
> -#define setcc(cc) ({ \
> - partial_status &= ~(SW_C0|SW_C1|SW_C2|SW_C3); \
> - partial_status |= (cc) & (SW_C0|SW_C1|SW_C2|SW_C3); })
> +#define setcc(cc) do { \
> + partial_status &= ~(SW_C0|SW_C1|SW_C2|SW_C3); \
> + partial_status |= (cc) & (SW_C0|SW_C1|SW_C2|SW_C3); \
> +} while (0)

Is there any reason you this shouldn't be an inline function?

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/

\
 
 \ /
  Last update: 2007-01-07 21:01    [W:0.297 / U:0.256 seconds]
©2003-2014 Jasper Spaans. Advertise on this site