Subject: bug#27059: Can't compile master branch on Mac OS X

From: David Caldwell <[email-masked]>
Date: Wed, 24 May 2017 09:22:32 -0700

On Mac OS X 10.9 (Mavericks) and Mac OS X 10.8 (Mountain Lion):

  CC       nsterm.o
nsterm.m:5496:33: warning: format string is not a string literal
(potentially insecure) [-Wformat-security]
  return NSRunAlertPanel(title, msgFormat, defaultButton,
alternateButton, nil)
                                ^~~~~~~~~
1 warning generated.
  CC       nsfns.o
  CC       nsmenu.o
nsmenu.m:1496:70: error: expected a type
- (instancetype)initWithContentRect: (NSRect)contentRect styleMask:
(NSWindowStyleMask)aStyle
                                                                     ^
nsmenu.m:1520:10: warning: incompatible integer to pointer conversion
assigning to 'id' from 'int' [-Wint-conversion]
  aStyle =
NSWindowStyleMaskTitled|NSWindowStyleMaskClosable|NSWindowStyleMaskUtilityWindow;
         ^
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
nsmenu.m:1524:54: warning: incompatible pointer to integer conversion
sending 'id' to parameter of type 'NSUInteger' (aka 'unsigned long')
[-Wint-conversion]
  [super initWithContentRect: contentRect styleMask: aStyle
                                                     ^~~~~~
/System/Library/Frameworks/AppKit.framework/Headers/NSWindow.h:289:69:
note: passing argument to parameter 'aStyle' here
- (id)initWithContentRect:(NSRect)contentRect
styleMask:(NSUInteger)aStyle backing:(NSBackingStoreType)bufferingType
defer:(BOOL)flag;
                                                                    ^
nsmenu.m:1496:88: warning: conflicting parameter types in implementation
of 'initWithContentRect:styleMask:backing:defer:': 'NSUInteger' (aka
'unsigned long') vs 'id' [-Wmismatched-parameter-types]
- (instancetype)initWithContentRect: (NSRect)contentRect styleMask:
(NSWindowStyleMask)aStyle

              ^
/System/Library/Frameworks/AppKit.framework/Headers/NSWindow.h:289:69:
note: previous definition is here
- (id)initWithContentRect:(NSRect)contentRect
styleMask:(NSUInteger)aStyle backing:(NSBackingStoreType)bufferingType
defer:(BOOL)flag;
                                                         ~~~~~~~~~~ ^
3 warnings and 1 error generated.
make[1]: *** [nsmenu.o] Error 1
make: *** [src] Error 2
make failed

On Mac OS X 10.6 (Snow Leopard):
  CC       nsterm.o
In file included from nsterm.m:48:
nsterm.h:454: error: expected ')' before 'instancetype'
nsterm.h:455: error: expected ')' before 'instancetype'
nsterm.h:456: error: expected ')' before 'instancetype'
nsterm.h:460: error: expected ')' before 'instancetype'
nsterm.h:463: error: expected ')' before 'instancetype'
nsterm.h:523: error: expected ')' before 'instancetype'
nsterm.h:557: error: expected ')' before 'instancetype'
nsterm.h:592: error: expected ')' before 'instancetype'
nsterm.h:611: error: expected ')' before 'instancetype'
nsterm.h:659: error: expected ')' before 'instancetype'
nsterm.h:661: error: expected ')' before 'instancetype'
nsterm.h:663: error: expected ')' before 'instancetype'
nsterm.h:664: error: expected ')' before 'instancetype'
nsterm.h:703: error: expected ')' before 'instancetype'
nsterm.h:706: error: expected ')' before 'instancetype'
nsterm.h:710: error: expected ')' before 'instancetype'
nsterm.h:711: error: expected ')' before 'instancetype'
nsterm.h:712: error: expected ')' before 'instancetype'
nsterm.h:735: error: expected ')' before 'instancetype'
nsterm.m:6900: error: expected ')' before 'instancetype'
nsterm.m:7630: error: expected ')' before 'instancetype'
nsterm.m:7655: error: expected ')' before 'instancetype'
nsterm.m:7681: error: expected ')' before 'instancetype'
nsterm.m:7909: error: expected ')' before 'instancetype'
nsterm.m:8261: error: expected ')' before 'instancetype'
nsterm.m:8345: error: expected ')' before 'instancetype'
nsterm.m:8353: error: expected ')' before 'instancetype'
nsterm.m:8408: error: expected ')' before 'instancetype'
nsterm.m:8487: error: expected ')' before 'instancetype'
make[1]: *** [nsterm.o] Error 1
make: *** [src] Error 2
make failed

I think these may have been caused by the recent GNUStep changes.

-David