Spell the autorelease pool in SDL_sysurl.m via SDL_OBJC_POOL. Same dual-mode treatment as the other src/SDL_objc_compat.h users in patch 0005: GCC cannot parse @autoreleasepool; the macro keeps the upstream spelling under clang and drains an NSAutoreleasePool via the cleanup attribute under GCC - the error-path return included, which a manual [pool release] conversion has to handle by hand. --- src/misc/macos/SDL_sysurl.m +++ src/misc/macos/SDL_sysurl.m @@ -26,9 +26,11 @@ #import +#include "SDL_objc_compat.h" + bool SDL_SYS_OpenURL(const char *url) { - @autoreleasepool { + SDL_OBJC_POOL { CFURLRef cfurl = CFURLCreateWithBytes(NULL, (const UInt8 *)url, SDL_strlen(url), kCFStringEncodingUTF8, NULL); OSStatus status = LSOpenCFURLRef(cfurl, NULL); CFRelease(cfurl);