All of lore.kernel.org
 help / color / mirror / Atom feed
* [Qemu-devel] [patch] Remove extern inline
@ 2005-03-18 23:31 Paul Brook
  0 siblings, 0 replies; only message in thread
From: Paul Brook @ 2005-03-18 23:31 UTC (permalink / raw)
  To: qemu-devel

[-- Attachment #1: Type: text/plain, Size: 259 bytes --]

The attached patch converts the remaining uses of "extern inline" to 
"static inline".

As I mentioned previously this is a gcc misfeature abused by the linux kernel.
Without this change qemu does not build with newer GCC at lower optimization 
levels.

Paul

[-- Attachment #2: patch.qemu_fpa_inline --]
[-- Type: text/x-diff, Size: 1910 bytes --]

? target-arm/p
? target-arm/nwfpe/p
Index: target-arm/nwfpe/ARM-gcc.h
===================================================================
RCS file: /cvsroot/qemu/qemu/target-arm/nwfpe/ARM-gcc.h,v
retrieving revision 1.1
diff -u -p -r1.1 ARM-gcc.h
--- target-arm/nwfpe/ARM-gcc.h	16 Feb 2004 21:43:58 -0000	1.1
+++ target-arm/nwfpe/ARM-gcc.h	2 Mar 2005 13:48:58 -0000
@@ -68,7 +68,7 @@ a compiler does not support explicit inl
 to be `static'.
 -------------------------------------------------------------------------------
 */
-#define INLINE extern __inline__
+#define INLINE static __inline__
 
 
 /* For use as a GCC soft-float library we need some special function names. */
Index: target-arm/nwfpe/fpa11.inl
===================================================================
RCS file: /cvsroot/qemu/qemu/target-arm/nwfpe/fpa11.inl,v
retrieving revision 1.1
diff -u -p -r1.1 fpa11.inl
--- target-arm/nwfpe/fpa11.inl	16 Feb 2004 21:43:58 -0000	1.1
+++ target-arm/nwfpe/fpa11.inl	2 Mar 2005 13:48:58 -0000
@@ -22,13 +22,13 @@
 #include "fpa11.h"
 
 /* Read and write floating point status register */
-extern __inline__ unsigned int readFPSR(void)
+INLINE unsigned int readFPSR(void)
 {
   FPA11 *fpa11 = GET_FPA11();
   return(fpa11->fpsr);
 }
 
-extern __inline__ void writeFPSR(FPSR reg)
+INLINE void writeFPSR(FPSR reg)
 {
   FPA11 *fpa11 = GET_FPA11();
   /* the sysid byte in the status register is readonly */
@@ -36,14 +36,14 @@ extern __inline__ void writeFPSR(FPSR re
 }
 
 /* Read and write floating point control register */
-extern __inline__ FPCR readFPCR(void)
+INLINE FPCR readFPCR(void)
 {
   FPA11 *fpa11 = GET_FPA11();
   /* clear SB, AB and DA bits before returning FPCR */
   return(fpa11->fpcr & ~MASK_RFC);
 }
 
-extern __inline__ void writeFPCR(FPCR reg)
+INLINE void writeFPCR(FPCR reg)
 {
   FPA11 *fpa11 = GET_FPA11();
   fpa11->fpcr &= ~MASK_WFC;		/* clear SB, AB and DA bits */

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2005-03-18 23:53 UTC | newest]

Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2005-03-18 23:31 [Qemu-devel] [patch] Remove extern inline Paul Brook

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.