always_inline gcc directive can be useful.

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3259 c046a42c-6fe2-441c-8c8c-71466251a162
This commit is contained in:
j_mayer 2007-09-29 12:17:25 +00:00
parent f1548daae3
commit 29f640e2cf
2 changed files with 16 additions and 0 deletions

View File

@ -37,6 +37,14 @@
#define unlikely(x) __builtin_expect(!!(x), 0)
#endif
#ifndef always_inline
#if __GNUC__ < 3
#define always_inline inline
#else
#define always_inline __attribute__ (( always_inline )) inline
#endif
#endif
#ifdef __i386__
#define REGPARM(n) __attribute((regparm(n)))
#else

8
vl.h
View File

@ -109,6 +109,14 @@ static inline char *realpath(const char *path, char *resolved_path)
#define MAX(a, b) (((a) > (b)) ? (a) : (b))
#endif
#ifndef always_inline
#if __GNUC__ < 3
#define always_inline inline
#else
#define always_inline __attribute__ (( always_inline )) inline
#endif
#endif
/* cutils.c */
void pstrcpy(char *buf, int buf_size, const char *str);
char *pstrcat(char *buf, int buf_size, const char *s);