Commit eba65c66a3189ee725e07d290c548ca4fd6d06d3

Sam Lantinga 2014-08-19T21:17:21

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 */