Skip to content

Cocoa, gcc: incorrect handling of types: cocoa.m: error: incompatible type for argument 1 of 'setFrame:' etc. #148

@barracuda156

Description

@barracuda156

Clangs seem not to care about the following, but gcc builds fail, both with Xcode gcc and a modern one.

gcc-4.2:

../libtool --mode=compile /usr/bin/gcc-4.2  -I../baselib/include -I../encodefilter/include -DUSE_QUARTZ  -DUSE_LIBSSH2 -DHAVE_PTHREAD -DUSE_IM_PLUGIN  -DHAVE_REGEX  -DUSE_TYPE_XCORE -DNO_DYNAMIC_LOAD_TYPE -I/opt/local/include/freetype2 -I/opt/local/include/libpng16 -I/opt/local/include/harfbuzz -I/opt/local/include/freetype2 -I/opt/local/include/libpng16 -I/opt/local/include/glib-2.0 -I/opt/local/lib/glib-2.0/include -DUSE_HARFBUZZ -DUSE_OT_LAYOUT -DUSE_COMPACT_TRUECOLOR -pipe -I/opt/local/libexec/openssl3/include -Os -arch ppc -I/opt/local/libexec/openssl3/include -isystem/opt/local/include -DBINDIR=\"/opt/local/bin\" -DLIBDIR=\"/opt/local/lib\" -DLIBEXECDIR=\"/opt/local/libexec\" -DXDATADIR=\"/opt/local/share\" -I../vtemu -I../uitoolkit/libotl -I/usr/local/include -c ../uitoolkit/quartz/cocoa.m
../libtool --mode=compile /usr/bin/gcc-4.2  -I../baselib/include -I../encodefilter/include -DUSE_QUARTZ  -DUSE_LIBSSH2 -DHAVE_PTHREAD -DUSE_IM_PLUGIN  -DHAVE_REGEX  -DUSE_TYPE_XCORE -DNO_DYNAMIC_LOAD_TYPE -I/opt/local/include/freetype2 -I/opt/local/include/libpng16 -I/opt/local/include/harfbuzz -I/opt/local/include/freetype2 -I/opt/local/include/libpng16 -I/opt/local/include/glib-2.0 -I/opt/local/lib/glib-2.0/include -DUSE_HARFBUZZ -DUSE_OT_LAYOUT -DUSE_COMPACT_TRUECOLOR -pipe -I/opt/local/libexec/openssl3/include -Os -arch ppc -I/opt/local/libexec/openssl3/include -isystem/opt/local/include -DBINDIR=\"/opt/local/bin\" -DLIBDIR=\"/opt/local/lib\" -DLIBEXECDIR=\"/opt/local/libexec\" -DXDATADIR=\"/opt/local/share\" -I../vtemu -I../uitoolkit/libotl -I/usr/local/include -c ../uitoolkit/quartz/ui_event_source-cocoa.m
libtool: compile:  /usr/bin/gcc-4.2 -I../baselib/include -I../encodefilter/include -DUSE_QUARTZ -DUSE_LIBSSH2 -DHAVE_PTHREAD -DUSE_IM_PLUGIN -DHAVE_REGEX -DUSE_TYPE_XCORE -DNO_DYNAMIC_LOAD_TYPE -I/opt/local/include/freetype2 -I/opt/local/include/libpng16 -I/opt/local/include/harfbuzz -I/opt/local/include/freetype2 -I/opt/local/include/libpng16 -I/opt/local/include/glib-2.0 -I/opt/local/lib/glib-2.0/include -DUSE_HARFBUZZ -DUSE_OT_LAYOUT -DUSE_COMPACT_TRUECOLOR -pipe -I/opt/local/libexec/openssl3/include -Os -arch ppc -I/opt/local/libexec/openssl3/include -isystem/opt/local/include -DBINDIR=\"/opt/local/bin\" -DLIBDIR=\"/opt/local/lib\" -DLIBEXECDIR=\"/opt/local/libexec\" -DXDATADIR=\"/opt/local/share\" -I../vtemu -I../uitoolkit/libotl -I/usr/local/include -c test.c  -fno-common -DPIC -o .libs/test.o
libtool: compile:  /usr/bin/gcc-4.2 -I../baselib/include -I../encodefilter/include -DUSE_QUARTZ -DUSE_LIBSSH2 -DHAVE_PTHREAD -DUSE_IM_PLUGIN -DHAVE_REGEX -DUSE_TYPE_XCORE -DNO_DYNAMIC_LOAD_TYPE -I/opt/local/include/freetype2 -I/opt/local/include/libpng16 -I/opt/local/include/harfbuzz -I/opt/local/include/freetype2 -I/opt/local/include/libpng16 -I/opt/local/include/glib-2.0 -I/opt/local/lib/glib-2.0/include -DUSE_HARFBUZZ -DUSE_OT_LAYOUT -DUSE_COMPACT_TRUECOLOR -pipe -I/opt/local/libexec/openssl3/include -Os -arch ppc -I/opt/local/libexec/openssl3/include -isystem/opt/local/include -DBINDIR=\"/opt/local/bin\" -DLIBDIR=\"/opt/local/lib\" -DLIBEXECDIR=\"/opt/local/libexec\" -DXDATADIR=\"/opt/local/share\" -I../vtemu -I../uitoolkit/libotl -I/usr/local/include -c ../uitoolkit/quartz/ui.c  -fno-common -DPIC -o .libs/ui.o
libtool: compile:  /usr/bin/gcc-4.2 -I../baselib/include -I../encodefilter/include -DUSE_QUARTZ -DUSE_LIBSSH2 -DHAVE_PTHREAD -DUSE_IM_PLUGIN -DHAVE_REGEX -DUSE_TYPE_XCORE -DNO_DYNAMIC_LOAD_TYPE -I/opt/local/include/freetype2 -I/opt/local/include/libpng16 -I/opt/local/include/harfbuzz -I/opt/local/include/freetype2 -I/opt/local/include/libpng16 -I/opt/local/include/glib-2.0 -I/opt/local/lib/glib-2.0/include -DUSE_HARFBUZZ -DUSE_OT_LAYOUT -DUSE_COMPACT_TRUECOLOR -pipe -I/opt/local/libexec/openssl3/include -Os -arch ppc -I/opt/local/libexec/openssl3/include -isystem/opt/local/include -DBINDIR=\"/opt/local/bin\" -DLIBDIR=\"/opt/local/lib\" -DLIBEXECDIR=\"/opt/local/libexec\" -DXDATADIR=\"/opt/local/share\" -I../vtemu -I../uitoolkit/libotl -I/usr/local/include -c test.c -o test.o >/dev/null 2>&1
libtool: compile:  /usr/bin/gcc-4.2 -I../baselib/include -I../encodefilter/include -DUSE_QUARTZ -DUSE_LIBSSH2 -DHAVE_PTHREAD -DUSE_IM_PLUGIN -DHAVE_REGEX -DUSE_TYPE_XCORE -DNO_DYNAMIC_LOAD_TYPE -I/opt/local/include/freetype2 -I/opt/local/include/libpng16 -I/opt/local/include/harfbuzz -I/opt/local/include/freetype2 -I/opt/local/include/libpng16 -I/opt/local/include/glib-2.0 -I/opt/local/lib/glib-2.0/include -DUSE_HARFBUZZ -DUSE_OT_LAYOUT -DUSE_COMPACT_TRUECOLOR -pipe -I/opt/local/libexec/openssl3/include -Os -arch ppc -I/opt/local/libexec/openssl3/include -isystem/opt/local/include -DBINDIR=\"/opt/local/bin\" -DLIBDIR=\"/opt/local/lib\" -DLIBEXECDIR=\"/opt/local/libexec\" -DXDATADIR=\"/opt/local/share\" -I../vtemu -I../uitoolkit/libotl -I/usr/local/include -c ../uitoolkit/quartz/cocoa.m  -fno-common -DPIC -o .libs/cocoa.o
../libtool --mode=compile /usr/bin/gcc-4.2  -I../baselib/include -I../encodefilter/include -DUSE_QUARTZ  -DUSE_LIBSSH2 -DHAVE_PTHREAD -DUSE_IM_PLUGIN  -DHAVE_REGEX  -DUSE_TYPE_XCORE -DNO_DYNAMIC_LOAD_TYPE -I/opt/local/include/freetype2 -I/opt/local/include/libpng16 -I/opt/local/include/harfbuzz -I/opt/local/include/freetype2 -I/opt/local/include/libpng16 -I/opt/local/include/glib-2.0 -I/opt/local/lib/glib-2.0/include -DUSE_HARFBUZZ -DUSE_OT_LAYOUT -DUSE_COMPACT_TRUECOLOR -pipe -I/opt/local/libexec/openssl3/include -Os -arch ppc -I/opt/local/libexec/openssl3/include -isystem/opt/local/include -DBINDIR=\"/opt/local/bin\" -DLIBDIR=\"/opt/local/lib\" -DLIBEXECDIR=\"/opt/local/libexec\" -DXDATADIR=\"/opt/local/share\" -I../vtemu -I../uitoolkit/libotl -I/usr/local/include -c ../uitoolkit/quartz/ui_im_status_screen-cocoa.m
libtool: compile:  /usr/bin/gcc-4.2 -I../baselib/include -I../encodefilter/include -DUSE_QUARTZ -DUSE_LIBSSH2 -DHAVE_PTHREAD -DUSE_IM_PLUGIN -DHAVE_REGEX -DUSE_TYPE_XCORE -DNO_DYNAMIC_LOAD_TYPE -I/opt/local/include/freetype2 -I/opt/local/include/libpng16 -I/opt/local/include/harfbuzz -I/opt/local/include/freetype2 -I/opt/local/include/libpng16 -I/opt/local/include/glib-2.0 -I/opt/local/lib/glib-2.0/include -DUSE_HARFBUZZ -DUSE_OT_LAYOUT -DUSE_COMPACT_TRUECOLOR -pipe -I/opt/local/libexec/openssl3/include -Os -arch ppc -I/opt/local/libexec/openssl3/include -isystem/opt/local/include -DBINDIR=\"/opt/local/bin\" -DLIBDIR=\"/opt/local/lib\" -DLIBEXECDIR=\"/opt/local/libexec\" -DXDATADIR=\"/opt/local/share\" -I../vtemu -I../uitoolkit/libotl -I/usr/local/include -c ../uitoolkit/quartz/ui.c -o ui.o >/dev/null 2>&1
libtool: compile:  /usr/bin/gcc-4.2 -I../baselib/include -I../encodefilter/include -DUSE_QUARTZ -DUSE_LIBSSH2 -DHAVE_PTHREAD -DUSE_IM_PLUGIN -DHAVE_REGEX -DUSE_TYPE_XCORE -DNO_DYNAMIC_LOAD_TYPE -I/opt/local/include/freetype2 -I/opt/local/include/libpng16 -I/opt/local/include/harfbuzz -I/opt/local/include/freetype2 -I/opt/local/include/libpng16 -I/opt/local/include/glib-2.0 -I/opt/local/lib/glib-2.0/include -DUSE_HARFBUZZ -DUSE_OT_LAYOUT -DUSE_COMPACT_TRUECOLOR -pipe -I/opt/local/libexec/openssl3/include -Os -arch ppc -I/opt/local/libexec/openssl3/include -isystem/opt/local/include -DBINDIR=\"/opt/local/bin\" -DLIBDIR=\"/opt/local/lib\" -DLIBEXECDIR=\"/opt/local/libexec\" -DXDATADIR=\"/opt/local/share\" -I../vtemu -I../uitoolkit/libotl -I/usr/local/include -c ../uitoolkit/quartz/ui_event_source-cocoa.m  -fno-common -DPIC -o .libs/ui_event_source-cocoa.o
libtool: compile:  /usr/bin/gcc-4.2 -I../baselib/include -I../encodefilter/include -DUSE_QUARTZ -DUSE_LIBSSH2 -DHAVE_PTHREAD -DUSE_IM_PLUGIN -DHAVE_REGEX -DUSE_TYPE_XCORE -DNO_DYNAMIC_LOAD_TYPE -I/opt/local/include/freetype2 -I/opt/local/include/libpng16 -I/opt/local/include/harfbuzz -I/opt/local/include/freetype2 -I/opt/local/include/libpng16 -I/opt/local/include/glib-2.0 -I/opt/local/lib/glib-2.0/include -DUSE_HARFBUZZ -DUSE_OT_LAYOUT -DUSE_COMPACT_TRUECOLOR -pipe -I/opt/local/libexec/openssl3/include -Os -arch ppc -I/opt/local/libexec/openssl3/include -isystem/opt/local/include -DBINDIR=\"/opt/local/bin\" -DLIBDIR=\"/opt/local/lib\" -DLIBEXECDIR=\"/opt/local/libexec\" -DXDATADIR=\"/opt/local/share\" -I../vtemu -I../uitoolkit/libotl -I/usr/local/include -c ../uitoolkit/quartz/ui_im_status_screen-cocoa.m  -fno-common -DPIC -o .libs/ui_im_status_screen-cocoa.o
../uitoolkit/quartz/cocoa.m: In function '-[MLTermView viewDidMoveToWindow]':
../uitoolkit/quartz/cocoa.m:460: error: incompatible type for argument 1 of 'setFrame:'
../uitoolkit/quartz/cocoa.m:466: error: incompatible type for argument 1 of 'initWithFrame:'
../uitoolkit/quartz/cocoa.m:471: warning: 'setFloatValue:knobProportion:' is deprecated (declared at /System/Library/Frameworks/AppKit.framework/Headers/NSScroller.h:107)
../uitoolkit/quartz/cocoa.m:501: error: incompatible types in assignment
../uitoolkit/quartz/cocoa.m:509: error: incompatible type for argument 1 of 'setFrame:display:'
../uitoolkit/quartz/cocoa.m:522: error: incompatible types in assignment
../uitoolkit/quartz/cocoa.m:526: error: incompatible type for argument 1 of 'setFrame:display:'
../uitoolkit/quartz/cocoa.m: In function 'window_resize':
../uitoolkit/quartz/cocoa.m:1482: error: invalid initializer
../uitoolkit/quartz/cocoa.m:1483: error: invalid initializer
../uitoolkit/quartz/cocoa.m:1490: error: incompatible type for argument 1 of 'setFrame:display:'
../uitoolkit/quartz/cocoa.m: In function 'window_move_resize':
../uitoolkit/quartz/cocoa.m:1494: error: invalid initializer
../uitoolkit/quartz/cocoa.m:1495: error: invalid initializer
../uitoolkit/quartz/cocoa.m:1503: error: incompatible type for argument 1 of 'setFrame:display:'
../uitoolkit/quartz/cocoa.m: In function 'scroller_update':
../uitoolkit/quartz/cocoa.m:1557: warning: 'setFloatValue:knobProportion:' is deprecated (declared at /System/Library/Frameworks/AppKit.framework/Headers/NSScroller.h:107)
make[1]: *** [cocoa.o] Error 1
make[1]: *** Waiting for unfinished jobs....

gcc-14.2.0:

libtool: compile:  /opt/local/bin/gcc-mp-14 -I../baselib/include -I../encodefilter/include -DUSE_QUARTZ -DUSE_LIBSSH2 -DHAVE_PTHREAD -DUSE_IM_PLUGIN -DHAVE_REGEX -DUSE_TYPE_XCORE -DNO_DYNAMIC_LOAD_TYPE -I/opt/local/include/freetype2 -I/opt/local/include/libpng16 -I/opt/local/include/harfbuzz -I/opt/local/include/freetype2 -I/opt/local/include/libpng16 -I/opt/local/include/glib-2.0 -I/opt/local/lib/glib-2.0/include -DUSE_HARFBUZZ -DUSE_OT_LAYOUT -DUSE_COMPACT_TRUECOLOR -pipe -I/opt/local/libexec/openssl3/include -Os -arch ppc -I/opt/local/libexec/openssl3/include -isystem/opt/local/include -DBINDIR=\"/opt/local/bin\" -DLIBDIR=\"/opt/local/lib\" -DLIBEXECDIR=\"/opt/local/libexec\" -DXDATADIR=\"/opt/local/share\" -I../vtemu -I../uitoolkit/libotl -I/usr/local/include -c ../uitoolkit/quartz/ui_im_status_screen-cocoa.m  -fno-common -DPIC -o .libs/ui_im_status_screen-cocoa.o
../uitoolkit/quartz/cocoa.m: In function '-[MLTermView viewDidMoveToWindow]':
../uitoolkit/quartz/cocoa.m:460:7: error: incompatible type for argument 1 of 'setFrame:'
  460 |       CGRectMake(uiwindow->x, y, ACTUAL_WIDTH(uiwindow), ACTUAL_HEIGHT(uiwindow));
      |       ^~~~~~~~~~
      |       |
      |       CGRect
../uitoolkit/quartz/cocoa.m:460:7: note: expected 'NSRect' but argument is of type 'CGRect'
../uitoolkit/quartz/cocoa.m:466:3: error: incompatible type for argument 1 of 'initWithFrame:'
  466 |   NSScroller *scroller = [[NSScroller alloc] initWithFrame:r];
      |   ^~~~~~~~~~
      |   |
      |   CGRect
../uitoolkit/quartz/cocoa.m:466:3: note: expected 'NSRect' but argument is of type 'CGRect'
../uitoolkit/quartz/cocoa.m:471:3: warning: 'setFloatValue:knobProportion:' is deprecated [-Wdeprecated-declarations]
  471 |   [scroller setFloatValue:0.0 knobProportion:1.0]; /* Deprecated since 10.6 */
      |   ^
In file included from /System/Library/Frameworks/AppKit.framework/Headers/AppKit.h:84,
                 from /System/Library/Frameworks/Cocoa.framework/Headers/Cocoa.h:13,
                 from ../uitoolkit/quartz/cocoa.m:3:
/System/Library/Frameworks/AppKit.framework/Headers/NSScroller.h:107:1: note: declared here
  107 | - (void)setFloatValue:(float)aFloat knobProportion:(CGFloat)proportion DEPRECATED_IN_MAC_OS_X_VERSION_10_5_AND_LATER;
      | ^
../uitoolkit/quartz/cocoa.m:501:9: error: incompatible types when assigning to type 'CGRect' from type 'NSRect'
  501 |     r = [self window].frame;
      |         ^
../uitoolkit/quartz/cocoa.m:509:5: error: incompatible type for argument 1 of 'setFrame:display:'
  509 |     [[self window] setFrame:r display:NO];
      |     ^
      |     |
      |     CGRect
../uitoolkit/quartz/cocoa.m:509:5: note: expected 'NSRect' but argument is of type 'CGRect'
../uitoolkit/quartz/cocoa.m:522:11: error: incompatible types when assigning to type 'CGRect' from type 'NSRect'
  522 |       r = [self window].frame;
      |           ^
../uitoolkit/quartz/cocoa.m:526:7: error: incompatible type for argument 1 of 'setFrame:display:'
  526 |       [[self window] setFrame:r display:NO];
      |       ^
      |       |
      |       CGRect
../uitoolkit/quartz/cocoa.m:526:7: note: expected 'NSRect' but argument is of type 'CGRect'
../uitoolkit/quartz/cocoa.m: In function 'window_resize':
../uitoolkit/quartz/cocoa.m:1482:15: error: invalid initializer
 1482 |   CGRect wr = window.frame;
      |               ^~~~~~
../uitoolkit/quartz/cocoa.m:1483:15: error: invalid initializer
 1483 |   CGSize vs = ((NSView *)window.contentView).frame.size;
      |               ^
../uitoolkit/quartz/cocoa.m:1490:3: error: incompatible type for argument 1 of 'setFrame:display:'
 1490 |   [window setFrame:wr display:YES];
      |   ^
      |   |
      |   CGRect
../uitoolkit/quartz/cocoa.m:1490:3: note: expected 'NSRect' but argument is of type 'CGRect'
../uitoolkit/quartz/cocoa.m: In function 'window_move_resize':
../uitoolkit/quartz/cocoa.m:1494:15: error: invalid initializer
 1494 |   CGRect wr = window.frame;
      |               ^~~~~~
../uitoolkit/quartz/cocoa.m:1495:15: error: invalid initializer
 1495 |   CGSize vs = ((NSView *)window.contentView).frame.size;
      |               ^
../uitoolkit/quartz/cocoa.m:1503:3: error: incompatible type for argument 1 of 'setFrame:display:'
 1503 |   [window setFrame:wr display:YES];
      |   ^
      |   |
      |   CGRect
../uitoolkit/quartz/cocoa.m:1503:3: note: expected 'NSRect' but argument is of type 'CGRect'
../uitoolkit/quartz/cocoa.m: In function 'scroller_update':
../uitoolkit/quartz/cocoa.m:1557:3: warning: 'setFloatValue:knobProportion:' is deprecated [-Wdeprecated-declarations]
 1557 |   [scroller setFloatValue:pos knobProportion:knob]; /* Deprecated since 10.6 */
      |   ^
/System/Library/Frameworks/AppKit.framework/Headers/NSScroller.h:107:1: note: declared here
  107 | - (void)setFloatValue:(float)aFloat knobProportion:(CGFloat)proportion DEPRECATED_IN_MAC_OS_X_VERSION_10_5_AND_LATER;
      | ^
make[1]: *** [cocoa.o] Error 1

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions