Skip to content

Commit

Permalink
Fixed bug 2121 - GCC throws error on SDL_FORCE_INLINE when compiling …
Browse files Browse the repository at this point in the history
…with -ansi
  • Loading branch information
slouken committed Oct 1, 2013
1 parent 22a972a commit 69a4351
Show file tree
Hide file tree
Showing 5 changed files with 23 additions and 19 deletions.
17 changes: 9 additions & 8 deletions include/begin_code.h
Expand Up @@ -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__) || \
Expand All @@ -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
Expand Down
4 changes: 2 additions & 2 deletions src/filesystem/cocoa/SDL_sysfilesystem.m
Expand Up @@ -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) {
Expand Down
10 changes: 6 additions & 4 deletions src/video/cocoa/SDL_cocoamodes.m
Expand Up @@ -33,7 +33,9 @@
/* This gets us MAC_OS_X_VERSION_MIN_REQUIRED... */
#include <AvailabilityMacros.h>

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.
Expand All @@ -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
Expand Down Expand Up @@ -179,15 +181,15 @@ 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)) {
CGDisplayModeRelease((CGDisplayModeRef) moderef); /* NULL is ok */
}
}

static inline void
static void
Cocoa_ReleaseDisplayModeList(_THIS, CFArrayRef modelist)
{
if (IS_SNOW_LEOPARD_OR_LATER(_this)) {
Expand Down
4 changes: 2 additions & 2 deletions src/video/cocoa/SDL_cocoashape.m
Expand Up @@ -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];
Expand Down
7 changes: 4 additions & 3 deletions src/video/cocoa/SDL_cocoawindow.m
Expand Up @@ -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;
}
Expand Down Expand Up @@ -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];
Expand Down

0 comments on commit 69a4351

Please sign in to comment.