Re: [PATCH] math-emu/setcc: avoid gcc extension

Randy Dunlap
2007-01-07T18:47:11Z

On Sun, 7 Jan 2007 14:27:32 +0100 Segher Boessenkool wrote:

> closing brace on the "while" line, please.

---
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 | 5 +++--
1 file changed, 3 insertions(+), 2 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) ({ \
+#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); })
+ partial_status |= (cc) & (SW_C0|SW_C1|SW_C2|SW_C3); \
+ } while (0)

#ifdef PECULIAR_486
/* Default, this conveys no information, but an 80486 does it. */