From 69a4351eb01572701a1e1ff22ea2977b5b257eb5 Mon Sep 17 00:00:00 2001 From: Sam Lantinga Date: Mon, 30 Sep 2013 22:35:32 -0700 Subject: [PATCH] Fixed bug 2121 - GCC throws error on SDL_FORCE_INLINE when compiling with -ansi --- include/begin_code.h | 17 +++++++++-------- src/filesystem/cocoa/SDL_sysfilesystem.m | 4 ++-- src/video/cocoa/SDL_cocoamodes.m | 10 ++++++---- src/video/cocoa/SDL_cocoashape.m | 4 ++-- src/video/cocoa/SDL_cocoawindow.m | 7 ++++--- 5 files changed, 23 insertions(+), 19 deletions(-) diff --git a/include/begin_code.h b/include/begin_code.h index 902aeb11471df..5261d26c1aaf0 100644 --- a/include/begin_code.h +++ b/include/begin_code.h @@ -99,11 +99,9 @@ #endif #endif /* Compiler needs structure packing set */ +#ifndef __inline__ /* Set up compiler-specific options for inlining functions */ #ifndef SDL_INLINE_OKAY -#ifdef __GNUC__ -#define SDL_INLINE_OKAY -#else /* Add any special compiler-specific cases here */ #if defined(_MSC_VER) || defined(__BORLANDC__) || \ defined(__DMC__) || defined(__SC__) || \ @@ -112,31 +110,34 @@ #ifndef __inline__ #define __inline__ __inline #endif -#define SDL_INLINE_OKAY +#define SDL_INLINE_OKAY 1 #else #if !defined(__MRC__) && !defined(_SGI_SOURCE) #ifndef __inline__ #define __inline__ inline #endif -#define SDL_INLINE_OKAY +#define SDL_INLINE_OKAY 1 #endif /* Not a funky compiler */ #endif /* Visual C++ */ -#endif /* GNU C */ #endif /* SDL_INLINE_OKAY */ /* 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) */ -#ifndef SDL_INLINE_OKAY +#if !SDL_INLINE_OKAY || __STRICT_ANSI__ +#ifdef __inline__ +#undef __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 __inline__ #else #define SDL_FORCE_INLINE static __inline__ #endif diff --git a/src/filesystem/cocoa/SDL_sysfilesystem.m b/src/filesystem/cocoa/SDL_sysfilesystem.m index c9b0eccebe7c9..43e024c2b4046 100644 --- a/src/filesystem/cocoa/SDL_sysfilesystem.m +++ b/src/filesystem/cocoa/SDL_sysfilesystem.m @@ -73,9 +73,9 @@ NSArray *array = NSSearchPathForDirectoriesInDomains(NSApplicationSupportDirectory, NSUserDomainMask, YES); char *retval = NULL; - (void) org; // unused on Mac OS X and iOS. + (void) org; /* unused on Mac OS X and iOS. */ - if ([array count] > 0) { // we only want the first item in the list. + if ([array count] > 0) { /* we only want the first item in the list. */ NSString *str = [array objectAtIndex:0]; const char *base = [str UTF8String]; if (base) { diff --git a/src/video/cocoa/SDL_cocoamodes.m b/src/video/cocoa/SDL_cocoamodes.m index d71cb1767debb..501684fc90604 100644 --- a/src/video/cocoa/SDL_cocoamodes.m +++ b/src/video/cocoa/SDL_cocoamodes.m @@ -33,7 +33,9 @@ /* This gets us MAC_OS_X_VERSION_MIN_REQUIRED... */ #include -static inline void Cocoa_ToggleMenuBar(const BOOL show) + +static void +Cocoa_ToggleMenuBar(const BOOL show) { /* !!! FIXME: keep an eye on this. * ShowMenuBar/HideMenuBar is officially unavailable for 64-bit binaries. @@ -57,7 +59,7 @@ static inline void Cocoa_ToggleMenuBar(const BOOL show) #define MAC_OS_X_VERSION_MIN_REQUIRED 1050 #endif -static inline BOOL +static BOOL IS_SNOW_LEOPARD_OR_LATER(_THIS) { #if FORCE_OLD_API @@ -179,7 +181,7 @@ static inline void Cocoa_ToggleMenuBar(const BOOL show) return SDL_TRUE; } -static inline void +static void Cocoa_ReleaseDisplayMode(_THIS, const void *moderef) { if (IS_SNOW_LEOPARD_OR_LATER(_this)) { @@ -187,7 +189,7 @@ static inline void Cocoa_ToggleMenuBar(const BOOL show) } } -static inline void +static void Cocoa_ReleaseDisplayModeList(_THIS, CFArrayRef modelist) { if (IS_SNOW_LEOPARD_OR_LATER(_this)) { diff --git a/src/video/cocoa/SDL_cocoashape.m b/src/video/cocoa/SDL_cocoashape.m index 71085261aa1ad..ae8df8d19ec49 100644 --- a/src/video/cocoa/SDL_cocoashape.m +++ b/src/video/cocoa/SDL_cocoashape.m @@ -82,8 +82,8 @@ data->saved = SDL_FALSE; } - //[data->context saveGraphicsState]; - //data->saved = SDL_TRUE; + /*[data->context saveGraphicsState];*/ + /*data->saved = SDL_TRUE;*/ [NSGraphicsContext setCurrentContext:data->context]; [[NSColor clearColor] set]; diff --git a/src/video/cocoa/SDL_cocoawindow.m b/src/video/cocoa/SDL_cocoawindow.m index 581590b67a37d..923cd51c52e4a 100644 --- a/src/video/cocoa/SDL_cocoawindow.m +++ b/src/video/cocoa/SDL_cocoawindow.m @@ -44,7 +44,7 @@ - (void)setWantsBestResolutionOpenGLSurface:(BOOL)flag; static Uint32 s_moveHack; -static __inline__ void ConvertNSRect(NSRect *r) +static void ConvertNSRect(NSRect *r) { r->origin.y = CGDisplayPixelsHigh(kCGDirectMainDisplay) - r->origin.y - r->size.height; } @@ -920,8 +920,9 @@ - (void)resetCursorRects SDL_WindowData *windowData = ((SDL_WindowData *) window->driverdata); NSWindow *nswindow = windowData->nswindow; - // makeKeyAndOrderFront: has the side-effect of deminiaturizing and showing - // a minimized or hidden window, so check for that before showing it. + /* makeKeyAndOrderFront: has the side-effect of deminiaturizing and showing + a minimized or hidden window, so check for that before showing it. + */ [windowData->listener pauseVisibleObservation]; if (![nswindow isMiniaturized] && [nswindow isVisible]) { [nswindow makeKeyAndOrderFront:nil];