GNU bug report logs -
#27041
MacOS 10.6: fix NS build
Previous Next
Full log
View this message in rfc822 format
[Message part 1 (text/plain, inline)]
Your bug report
#27041: Can't compile master branch on Mac OS X
which was filed against the emacs package, has been closed.
The explanation is attached below, along with your original report.
If you require more details, please reply to 27059 <at> debbugs.gnu.org.
--
27041: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=27041
GNU Bug Tracking System
Contact help-debbugs <at> gnu.org with problems
[Message part 2 (message/rfc822, inline)]
On Wed, May 24, 2017 at 08:13:21PM +0200, Charles A. Roelli wrote:
> Thanks for your help.
>
> I changed the conditional to this:
>
>
> #if defined(NS_IMPL_GNUSTEP) || MAC_OS_X_VERSION_MAX_ALLOWED <
> MAC_OS_X_VERSION_10_7
> typedef id instancetype;
> typedef NSUInteger NSWindowStyleMask;
> #endif
>
>
> And it compiles fine without my previous changes. Can you verify that this
> still builds with GNUstep? If not, we can leave the 'int' instead of the
> 'NSUInteger'.
It works fine on GNUstep too, so I’ve pushed the change.
FWIW, that instancetype type appears to be a built‐in and we should
probably be doing some sort of check whether the compiler supports it
natively or not. I don’t know how to go about doing that.
> > > I also see this warning when compiling macfont.m:
> > >
> > > macfont.m: In function ‘mac_font_shape_1’:
> > > macfont.m:416: warning: ‘NSLayoutManager’ may not respond to
> > > ‘-getGlyphsInRange:glyphs:properties:characterIndexes:bidiLevels:’
> > > macfont.m:416: warning: (Messages without a matching method signature
> > > macfont.m:416: warning: will be assumed to return ‘id’ and accept
> > > macfont.m:416: warning: ‘...’ as arguments.)
> > >
> > > (some new arguments were added in the recent changes). But this doesn't
> > > seem to affect functionality so I've left that change as is.
This warning doesn’t make much sense to me. I’ve looked up the
documentation and the new method being used has allegedly been
available since macOS 10.5.
https://developer.apple.com/reference/appkit/nslayoutmanager/1403104-getglyphsinrange
I guess if it’s working we can just ignore it.
--
Alan Third
[Message part 3 (message/rfc822, inline)]
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
This bug report was last modified 7 years and 358 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.