Fixed bug 2129 - fix for bug 2121 breaks linking for mingw and throws multiple warnings
Andreas Ertelt The problem in question is caused by changeset 7771 (http://hg.libsdl.org/SDL/rev/5486e579872e / https://bugzilla.libsdl.org/show_bug.cgi?id=2121) The redefinition of __inline__ (introduced by the addition of begin_code.h:128's "|| __STRICT_ANSI__") results in mingw's gcc throwing multiple warning: always_inline function might not be inlinable [-Wattributes] as well as a whole bunch of redefinitions of mingw internals which break linking of projects including the SDL2 headers.main
parent
4ca34ad4a4
commit
08fa8da77c
|
@ -99,49 +99,36 @@
|
|||
#endif
|
||||
#endif /* Compiler needs structure packing set */
|
||||
|
||||
#ifndef __inline__
|
||||
#ifndef SDL_INLINE
|
||||
/* Set up compiler-specific options for inlining functions */
|
||||
#ifndef SDL_INLINE_OKAY
|
||||
/* Add any special compiler-specific cases here */
|
||||
#if defined(_MSC_VER) || defined(__BORLANDC__) || \
|
||||
defined(__DMC__) || defined(__SC__) || \
|
||||
defined(__WATCOMC__) || defined(__LCC__) || \
|
||||
defined(__DECC)
|
||||
#ifndef __inline__
|
||||
#define __inline__ __inline
|
||||
#endif
|
||||
#define SDL_INLINE_OKAY 1
|
||||
#define SDL_INLINE __inline
|
||||
#else
|
||||
#if !defined(__MRC__) && !defined(_SGI_SOURCE)
|
||||
#ifndef __inline__
|
||||
#define __inline__ inline
|
||||
#endif
|
||||
#define SDL_INLINE_OKAY 1
|
||||
#endif /* Not a funky compiler */
|
||||
#define SDL_INLINE inline
|
||||
#endif /* Visual C++ */
|
||||
#endif /* SDL_INLINE_OKAY */
|
||||
#endif /* SDL_INLINE not defined */
|
||||
|
||||
/* If inlining isn't supported, remove "__inline__", turning static
|
||||
inlined functions into static functions (resulting in code bloat
|
||||
in all files which include the offending header files)
|
||||
/* If inlining isn't supported, remove SDL_INLINE, turning static
|
||||
inlined functions into static functions (potentially resulting in
|
||||
code bloat in all files which include the offending header files)
|
||||
*/
|
||||
#if !SDL_INLINE_OKAY || __STRICT_ANSI__
|
||||
#ifdef __inline__
|
||||
#undef __inline__
|
||||
#if __STRICT_ANSI__
|
||||
#undef SDL_INLINE
|
||||
#define SDL_INLINE
|
||||
#endif
|
||||
#define __inline__
|
||||
#endif
|
||||
#endif /* __inline__ not defined */
|
||||
|
||||
#ifndef SDL_FORCE_INLINE
|
||||
#if defined(_MSC_VER)
|
||||
#define SDL_FORCE_INLINE __forceinline
|
||||
#elif ( (defined(__GNUC__) && (__GNUC__ >= 4)) || defined(__clang__) )
|
||||
#define SDL_FORCE_INLINE __attribute__((always_inline)) static __inline__
|
||||
#define SDL_FORCE_INLINE __attribute__((always_inline)) static SDL_INLINE
|
||||
#else
|
||||
#define SDL_FORCE_INLINE static __inline__
|
||||
#endif
|
||||
#define SDL_FORCE_INLINE static SDL_INLINE
|
||||
#endif
|
||||
#endif /* SDL_FORCE_INLINE not defined */
|
||||
|
||||
/* Apparently this is needed by several Windows compilers */
|
||||
#if !defined(__MACH__)
|
||||
|
|
|
@ -55,7 +55,7 @@
|
|||
|
||||
static SDL_SpinLock locks[32];
|
||||
|
||||
static __inline__ void
|
||||
static SDL_INLINE void
|
||||
enterLock(void *a)
|
||||
{
|
||||
uintptr_t index = ((((uintptr_t)a) >> 3) & 0x1f);
|
||||
|
@ -63,7 +63,7 @@ enterLock(void *a)
|
|||
SDL_AtomicLock(&locks[index]);
|
||||
}
|
||||
|
||||
static __inline__ void
|
||||
static SDL_INLINE void
|
||||
leaveLock(void *a)
|
||||
{
|
||||
uintptr_t index = ((((uintptr_t)a) >> 3) & 0x1f);
|
||||
|
|
|
@ -46,7 +46,7 @@
|
|||
#define _PATH_DEV_AUDIO "/dev/audio"
|
||||
#endif
|
||||
|
||||
static inline void
|
||||
static SDL_INLINE void
|
||||
test_device(const char *fname, int flags, int (*test) (int fd),
|
||||
SDL_AddAudioDevice addfn)
|
||||
{
|
||||
|
|
|
@ -241,25 +241,25 @@ ALSA_WaitDevice(_THIS)
|
|||
tmp = ptr[3]; ptr[3] = ptr[5]; ptr[5] = tmp; \
|
||||
}
|
||||
|
||||
static __inline__ void
|
||||
static SDL_INLINE void
|
||||
swizzle_alsa_channels_6_64bit(_THIS)
|
||||
{
|
||||
SWIZ6(Uint64);
|
||||
}
|
||||
|
||||
static __inline__ void
|
||||
static SDL_INLINE void
|
||||
swizzle_alsa_channels_6_32bit(_THIS)
|
||||
{
|
||||
SWIZ6(Uint32);
|
||||
}
|
||||
|
||||
static __inline__ void
|
||||
static SDL_INLINE void
|
||||
swizzle_alsa_channels_6_16bit(_THIS)
|
||||
{
|
||||
SWIZ6(Uint16);
|
||||
}
|
||||
|
||||
static __inline__ void
|
||||
static SDL_INLINE void
|
||||
swizzle_alsa_channels_6_8bit(_THIS)
|
||||
{
|
||||
SWIZ6(Uint8);
|
||||
|
@ -272,7 +272,7 @@ swizzle_alsa_channels_6_8bit(_THIS)
|
|||
* Called right before feeding this->hidden->mixbuf to the hardware. Swizzle
|
||||
* channels from Windows/Mac order to the format alsalib will want.
|
||||
*/
|
||||
static __inline__ void
|
||||
static SDL_INLINE void
|
||||
swizzle_alsa_channels(_THIS)
|
||||
{
|
||||
if (this->spec.channels == 6) {
|
||||
|
|
|
@ -49,7 +49,7 @@
|
|||
|
||||
#if (PA_API_VERSION < 12)
|
||||
/** Return non-zero if the passed state is one of the connected states */
|
||||
static __inline__ int PA_CONTEXT_IS_GOOD(pa_context_state_t x) {
|
||||
static SDL_INLINE int PA_CONTEXT_IS_GOOD(pa_context_state_t x) {
|
||||
return
|
||||
x == PA_CONTEXT_CONNECTING ||
|
||||
x == PA_CONTEXT_AUTHORIZING ||
|
||||
|
@ -57,7 +57,7 @@ static __inline__ int PA_CONTEXT_IS_GOOD(pa_context_state_t x) {
|
|||
x == PA_CONTEXT_READY;
|
||||
}
|
||||
/** Return non-zero if the passed state is one of the connected states */
|
||||
static __inline__ int PA_STREAM_IS_GOOD(pa_stream_state_t x) {
|
||||
static SDL_INLINE int PA_STREAM_IS_GOOD(pa_stream_state_t x) {
|
||||
return
|
||||
x == PA_STREAM_CREATING ||
|
||||
x == PA_STREAM_READY;
|
||||
|
@ -322,7 +322,7 @@ PULSEAUDIO_CloseDevice(_THIS)
|
|||
}
|
||||
|
||||
|
||||
static __inline__ int
|
||||
static SDL_INLINE int
|
||||
squashVersion(const int major, const int minor, const int patch)
|
||||
{
|
||||
return ((major & 0xFF) << 16) | ((minor & 0xFF) << 8) | (patch & 0xFF);
|
||||
|
|
|
@ -83,7 +83,7 @@ uint32_t qsa_playback_devices;
|
|||
QSA_Device qsa_capture_device[QSA_MAX_DEVICES];
|
||||
uint32_t qsa_capture_devices;
|
||||
|
||||
static inline int
|
||||
static SDL_INLINE int
|
||||
QSA_SetError(const char *fn, int status)
|
||||
{
|
||||
return SDL_SetError("QSA: %s() failed: %s", fn, snd_strerror(status));
|
||||
|
|
|
@ -68,7 +68,7 @@ illegal_instruction(int sig)
|
|||
}
|
||||
#endif /* HAVE_SETJMP */
|
||||
|
||||
static __inline__ int
|
||||
static SDL_INLINE int
|
||||
CPU_haveCPUID(void)
|
||||
{
|
||||
int has_CPUID = 0;
|
||||
|
@ -192,7 +192,7 @@ done:
|
|||
a = b = c = d = 0
|
||||
#endif
|
||||
|
||||
static __inline__ int
|
||||
static SDL_INLINE int
|
||||
CPU_getCPUIDFeatures(void)
|
||||
{
|
||||
int features = 0;
|
||||
|
@ -206,7 +206,7 @@ CPU_getCPUIDFeatures(void)
|
|||
return features;
|
||||
}
|
||||
|
||||
static __inline__ int
|
||||
static SDL_INLINE int
|
||||
CPU_haveRDTSC(void)
|
||||
{
|
||||
if (CPU_haveCPUID()) {
|
||||
|
@ -215,7 +215,7 @@ CPU_haveRDTSC(void)
|
|||
return 0;
|
||||
}
|
||||
|
||||
static __inline__ int
|
||||
static SDL_INLINE int
|
||||
CPU_haveAltiVec(void)
|
||||
{
|
||||
volatile int altivec = 0;
|
||||
|
@ -242,7 +242,7 @@ CPU_haveAltiVec(void)
|
|||
return altivec;
|
||||
}
|
||||
|
||||
static __inline__ int
|
||||
static SDL_INLINE int
|
||||
CPU_haveMMX(void)
|
||||
{
|
||||
if (CPU_haveCPUID()) {
|
||||
|
@ -251,7 +251,7 @@ CPU_haveMMX(void)
|
|||
return 0;
|
||||
}
|
||||
|
||||
static __inline__ int
|
||||
static SDL_INLINE int
|
||||
CPU_have3DNow(void)
|
||||
{
|
||||
if (CPU_haveCPUID()) {
|
||||
|
@ -266,7 +266,7 @@ CPU_have3DNow(void)
|
|||
return 0;
|
||||
}
|
||||
|
||||
static __inline__ int
|
||||
static SDL_INLINE int
|
||||
CPU_haveSSE(void)
|
||||
{
|
||||
if (CPU_haveCPUID()) {
|
||||
|
@ -275,7 +275,7 @@ CPU_haveSSE(void)
|
|||
return 0;
|
||||
}
|
||||
|
||||
static __inline__ int
|
||||
static SDL_INLINE int
|
||||
CPU_haveSSE2(void)
|
||||
{
|
||||
if (CPU_haveCPUID()) {
|
||||
|
@ -284,7 +284,7 @@ CPU_haveSSE2(void)
|
|||
return 0;
|
||||
}
|
||||
|
||||
static __inline__ int
|
||||
static SDL_INLINE int
|
||||
CPU_haveSSE3(void)
|
||||
{
|
||||
if (CPU_haveCPUID()) {
|
||||
|
@ -299,7 +299,7 @@ CPU_haveSSE3(void)
|
|||
return 0;
|
||||
}
|
||||
|
||||
static __inline__ int
|
||||
static SDL_INLINE int
|
||||
CPU_haveSSE41(void)
|
||||
{
|
||||
if (CPU_haveCPUID()) {
|
||||
|
@ -314,7 +314,7 @@ CPU_haveSSE41(void)
|
|||
return 0;
|
||||
}
|
||||
|
||||
static __inline__ int
|
||||
static SDL_INLINE int
|
||||
CPU_haveSSE42(void)
|
||||
{
|
||||
if (CPU_haveCPUID()) {
|
||||
|
|
|
@ -83,7 +83,7 @@ static struct
|
|||
} SDL_EventQ = { NULL, SDL_TRUE };
|
||||
|
||||
|
||||
static __inline__ SDL_bool
|
||||
static SDL_INLINE SDL_bool
|
||||
SDL_ShouldPollJoystick()
|
||||
{
|
||||
#if !SDL_JOYSTICK_DISABLED
|
||||
|
|
|
@ -617,7 +617,7 @@ SDL_bool SDL_SYS_JoystickAttached(SDL_Joystick *joystick)
|
|||
return !joystick->closed && (joystick->hwdata->item != NULL);
|
||||
}
|
||||
|
||||
static __inline__ void
|
||||
static SDL_INLINE void
|
||||
HandleHat(SDL_Joystick * stick, Uint8 hat, int axis, int value)
|
||||
{
|
||||
struct hwdata_hat *the_hat;
|
||||
|
@ -643,14 +643,14 @@ HandleHat(SDL_Joystick * stick, Uint8 hat, int axis, int value)
|
|||
}
|
||||
}
|
||||
|
||||
static __inline__ void
|
||||
static SDL_INLINE void
|
||||
HandleBall(SDL_Joystick * stick, Uint8 ball, int axis, int value)
|
||||
{
|
||||
stick->hwdata->balls[ball].axis[axis] += value;
|
||||
}
|
||||
|
||||
|
||||
static __inline__ int
|
||||
static SDL_INLINE int
|
||||
AxisCorrect(SDL_Joystick * joystick, int which, int value)
|
||||
{
|
||||
struct axis_correct *correct;
|
||||
|
@ -679,7 +679,7 @@ AxisCorrect(SDL_Joystick * joystick, int which, int value)
|
|||
return value;
|
||||
}
|
||||
|
||||
static __inline__ void
|
||||
static SDL_INLINE void
|
||||
PollAllValues(SDL_Joystick * joystick)
|
||||
{
|
||||
struct input_absinfo absinfo;
|
||||
|
@ -717,7 +717,7 @@ PollAllValues(SDL_Joystick * joystick)
|
|||
}
|
||||
}
|
||||
|
||||
static __inline__ void
|
||||
static SDL_INLINE void
|
||||
HandleInputEvents(SDL_Joystick * joystick)
|
||||
{
|
||||
struct input_event events[32];
|
||||
|
|
|
@ -60,7 +60,7 @@ static point c = { 78, 32767 };
|
|||
static point d = { 128, 32767 };
|
||||
|
||||
/* simple linear interpolation between two points */
|
||||
static __inline__ void lerp (point *dest, point *a, point *b, float t)
|
||||
static SDL_INLINE void lerp (point *dest, point *a, point *b, float t)
|
||||
{
|
||||
dest->x = a->x + (b->x - a->x)*t;
|
||||
dest->y = a->y + (b->y - a->y)*t;
|
||||
|
|
|
@ -414,7 +414,7 @@ GLES_WindowEvent(SDL_Renderer * renderer, const SDL_WindowEvent *event)
|
|||
}
|
||||
}
|
||||
|
||||
static __inline__ int
|
||||
static SDL_INLINE int
|
||||
power_of_2(int input)
|
||||
{
|
||||
int value = 1;
|
||||
|
|
|
@ -27,7 +27,7 @@
|
|||
|
||||
#ifdef __SSE__
|
||||
/* This assumes 16-byte aligned src and dst */
|
||||
static __inline__ void
|
||||
static SDL_INLINE void
|
||||
SDL_memcpySSE(Uint8 * dst, const Uint8 * src, int len)
|
||||
{
|
||||
int i;
|
||||
|
@ -56,7 +56,7 @@ SDL_memcpySSE(Uint8 * dst, const Uint8 * src, int len)
|
|||
#ifdef _MSC_VER
|
||||
#pragma warning(disable:4799)
|
||||
#endif
|
||||
static __inline__ void
|
||||
static SDL_INLINE void
|
||||
SDL_memcpyMMX(Uint8 * dst, const Uint8 * src, int len)
|
||||
{
|
||||
const int remain = (len & 63);
|
||||
|
|
|
@ -951,7 +951,7 @@ SDL_ConvertSurfaceFormat(SDL_Surface * surface, Uint32 pixel_format,
|
|||
/*
|
||||
* Create a surface on the stack for quick blit operations
|
||||
*/
|
||||
static __inline__ SDL_bool
|
||||
static SDL_INLINE SDL_bool
|
||||
SDL_CreateSurfaceOnStack(int width, int height, Uint32 pixel_format,
|
||||
void * pixels, int pitch, SDL_Surface * surface,
|
||||
SDL_PixelFormat * format, SDL_BlitMap * blitmap)
|
||||
|
|
|
@ -2382,7 +2382,7 @@ SDL_GL_UnloadLibrary(void)
|
|||
}
|
||||
}
|
||||
|
||||
static __inline__ SDL_bool
|
||||
static SDL_INLINE SDL_bool
|
||||
isAtLeastGL3(const char *verstr)
|
||||
{
|
||||
return ( verstr && (SDL_atoi(verstr) >= 3) );
|
||||
|
|
|
@ -37,11 +37,11 @@ extern "C" {
|
|||
|
||||
int32 BE_UpdateOnce(SDL_Window *window);
|
||||
|
||||
static inline SDL_BWin *_ToBeWin(SDL_Window *window) {
|
||||
static SDL_INLINE SDL_BWin *_ToBeWin(SDL_Window *window) {
|
||||
return ((SDL_BWin*)(window->driverdata));
|
||||
}
|
||||
|
||||
static inline SDL_BApp *_GetBeApp() {
|
||||
static SDL_INLINE SDL_BApp *_GetBeApp() {
|
||||
return ((SDL_BApp*)be_app);
|
||||
}
|
||||
|
||||
|
|
|
@ -48,15 +48,15 @@ typedef struct SDL_DisplayModeData {
|
|||
};
|
||||
#endif
|
||||
|
||||
static inline SDL_BWin *_ToBeWin(SDL_Window *window) {
|
||||
static SDL_INLINE SDL_BWin *_ToBeWin(SDL_Window *window) {
|
||||
return ((SDL_BWin*)(window->driverdata));
|
||||
}
|
||||
|
||||
static inline SDL_BApp *_GetBeApp() {
|
||||
static SDL_INLINE SDL_BApp *_GetBeApp() {
|
||||
return ((SDL_BApp*)be_app);
|
||||
}
|
||||
|
||||
static inline display_mode * _ExtractBMode(SDL_DisplayMode *mode) {
|
||||
static SDL_INLINE display_mode * _ExtractBMode(SDL_DisplayMode *mode) {
|
||||
#if WRAP_BMODE
|
||||
return ((SDL_DisplayModeData*)mode->driverdata)->bmode;
|
||||
#else
|
||||
|
|
|
@ -37,11 +37,11 @@ extern "C" {
|
|||
|
||||
#define BGL_FLAGS BGL_RGB | BGL_DOUBLE
|
||||
|
||||
static inline SDL_BWin *_ToBeWin(SDL_Window *window) {
|
||||
static SDL_INLINE SDL_BWin *_ToBeWin(SDL_Window *window) {
|
||||
return ((SDL_BWin*)(window->driverdata));
|
||||
}
|
||||
|
||||
static inline SDL_BApp *_GetBeApp() {
|
||||
static SDL_INLINE SDL_BApp *_GetBeApp() {
|
||||
return ((SDL_BApp*)be_app);
|
||||
}
|
||||
|
||||
|
|
|
@ -31,11 +31,11 @@
|
|||
extern "C" {
|
||||
#endif
|
||||
|
||||
static inline SDL_BWin *_ToBeWin(SDL_Window *window) {
|
||||
static SDL_INLINE SDL_BWin *_ToBeWin(SDL_Window *window) {
|
||||
return ((SDL_BWin*)(window->driverdata));
|
||||
}
|
||||
|
||||
static inline SDL_BApp *_GetBeApp() {
|
||||
static SDL_INLINE SDL_BApp *_GetBeApp() {
|
||||
return ((SDL_BApp*)be_app);
|
||||
}
|
||||
|
||||
|
|
|
@ -167,7 +167,7 @@ typedef struct
|
|||
#endif
|
||||
} DirectFB_TextureData;
|
||||
|
||||
static __inline__ void
|
||||
static SDL_INLINE void
|
||||
SDLtoDFBRect(const SDL_Rect * sr, DFBRectangle * dr)
|
||||
{
|
||||
dr->x = sr->x;
|
||||
|
@ -175,7 +175,7 @@ SDLtoDFBRect(const SDL_Rect * sr, DFBRectangle * dr)
|
|||
dr->h = sr->h;
|
||||
dr->w = sr->w;
|
||||
}
|
||||
static __inline__ void
|
||||
static SDL_INLINE void
|
||||
SDLtoDFBRect_Float(const SDL_FRect * sr, DFBRectangle * dr)
|
||||
{
|
||||
dr->x = sr->x;
|
||||
|
@ -211,7 +211,7 @@ TextureHasAlpha(DirectFB_TextureData * data)
|
|||
#endif
|
||||
}
|
||||
|
||||
static inline IDirectFBSurface *get_dfb_surface(SDL_Window *window)
|
||||
static SDL_INLINE IDirectFBSurface *get_dfb_surface(SDL_Window *window)
|
||||
{
|
||||
SDL_SysWMinfo wm_info;
|
||||
SDL_memset(&wm_info, 0, sizeof(SDL_SysWMinfo));
|
||||
|
@ -222,7 +222,7 @@ static inline IDirectFBSurface *get_dfb_surface(SDL_Window *window)
|
|||
return wm_info.info.dfb.surface;
|
||||
}
|
||||
|
||||
static inline IDirectFBWindow *get_dfb_window(SDL_Window *window)
|
||||
static SDL_INLINE IDirectFBWindow *get_dfb_window(SDL_Window *window)
|
||||
{
|
||||
SDL_SysWMinfo wm_info;
|
||||
SDL_memset(&wm_info, 0, sizeof(SDL_SysWMinfo));
|
||||
|
|
|
@ -88,7 +88,7 @@
|
|||
|
||||
#define SDL_DFB_DEBUG(x...) SDL_LogDebug(SDL_LOG_CATEGORY_VIDEO, x)
|
||||
|
||||
static inline DFBResult sdl_dfb_check(DFBResult ret, const char *src_file, int src_line) {
|
||||
static SDL_INLINE DFBResult sdl_dfb_check(DFBResult ret, const char *src_file, int src_line) {
|
||||
if (ret != DFB_OK) {
|
||||
SDL_DFB_LOG("%s (%d):%s", src_file, src_line, DirectFBErrorString (ret) );
|
||||
SDL_SetError("%s:%s", SDL_DFB_CONTEXT, DirectFBErrorString (ret) );
|
||||
|
|
|
@ -112,7 +112,7 @@ typedef struct SDL_MessageBoxDataX11
|
|||
} SDL_MessageBoxDataX11;
|
||||
|
||||
/* Maximum helper for ints. */
|
||||
static __inline__ int
|
||||
static SDL_INLINE int
|
||||
IntMax( int a, int b )
|
||||
{
|
||||
return ( a > b ) ? a : b;
|
||||
|
|
Loading…
Reference in New Issue