Fixed bug 2694 - configure bug __has_feature macro not detected skaller using gcc 4.2 (the default) on Mac OSX 10.6.8 CC build/SDL_dynapi.lo In file included from /Users/johnskaller/SDL/src/dynapi/SDL_dynapi.c:31: include/SDL_syswm.h:211:39: error: missing binary operator before token "(" The fault appears to be here: #if defined(__OBJC__) && __has_feature(objc_arc) that the __has_feature macro is not supported by gcc 4.2. The code works fine with my clang 3.3svn.
diff --git a/include/SDL_syswm.h b/include/SDL_syswm.h
index c81cd48..2f4d5a4 100644
--- a/include/SDL_syswm.h
+++ b/include/SDL_syswm.h
@@ -208,7 +208,7 @@ struct SDL_SysWMinfo
#if defined(SDL_VIDEO_DRIVER_COCOA)
struct
{
-#if defined(__OBJC__) && __has_feature(objc_arc)
+#if defined(__OBJC__) && defined(__clang__) && __has_feature(objc_arc)
NSWindow __unsafe_unretained *window; /* The Cocoa window */
#else
NSWindow *window; /* The Cocoa window */
@@ -218,7 +218,7 @@ struct SDL_SysWMinfo
#if defined(SDL_VIDEO_DRIVER_UIKIT)
struct
{
-#if defined(__OBJC__) && __has_feature(objc_arc)
+#if defined(__OBJC__) && defined(__clang__) && __has_feature(objc_arc)
UIWindow __unsafe_unretained *window; /* The UIKit window */
#else
UIWindow *window; /* The UIKit window */