qemu-devel.nongnu.org archive mirror
 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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).