From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: by sourceware.org (Postfix, from userid 1698) id 52A863858D35; Wed, 15 Feb 2023 10:51:46 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 52A863858D35 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gcc.gnu.org; s=default; t=1676458306; bh=l2A0InB6mFTryyp8BTx5qFwA7Nj+J/hgD/MJWrSdNUo=; h=From:To:Subject:Date:From; b=kQkrMKMpk/ejsEV19Ptd0PY2wija+2wAbcHpTAcDl61vLe1tZ86mbajL0kgCG6ZOB 4J/dhun2utNKrm29N7GiF7L5v5TgVGKFL71S/T6/pRF6uIvC3u2LbM2W7Tfsqvu8YX xu0ZsWEBX1gkf412vEhu3GXQBdBbIrlYRv6lRWU4= MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Type: text/plain; charset="utf-8" From: Iain D Sandoe To: gcc-cvs@gcc.gnu.org Subject: [gcc r13-6004] testsuite, objective-c: Fix a testcase on Windows. X-Act-Checkin: gcc X-Git-Author: Iain Sandoe X-Git-Refname: refs/heads/master X-Git-Oldrev: 8b1b1b2d691d5cee4ebc40a01974ad5bccab22f9 X-Git-Newrev: 142bd88c5f609546a466743ab1066d5620a830bc Message-Id: <20230215105146.52A863858D35@sourceware.org> Date: Wed, 15 Feb 2023 10:51:46 +0000 (GMT) List-Id: https://gcc.gnu.org/g:142bd88c5f609546a466743ab1066d5620a830bc commit r13-6004-g142bd88c5f609546a466743ab1066d5620a830bc Author: Iain Sandoe Date: Wed Feb 15 10:47:51 2023 +0000 testsuite, objective-c: Fix a testcase on Windows. Windows needs to use uintptr_t to represent an integral pointer type (long is not the right type there). Patch from 'nightstike'. Signed-off-by: Iain Sandoe gcc/testsuite/ChangeLog: * obj-c++.dg/proto-lossage-4.mm: Use uintptr_t for integral pointer representations. Diff: --- gcc/testsuite/obj-c++.dg/proto-lossage-4.mm | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/gcc/testsuite/obj-c++.dg/proto-lossage-4.mm b/gcc/testsuite/obj-c++.dg/proto-lossage-4.mm index 2e753d1f8ba..ff053bec7d0 100644 --- a/gcc/testsuite/obj-c++.dg/proto-lossage-4.mm +++ b/gcc/testsuite/obj-c++.dg/proto-lossage-4.mm @@ -6,24 +6,26 @@ /* One-line substitute for objc/objc.h */ typedef struct objc_object { struct objc_class *class_pointer; } *id; +typedef __UINTPTR_TYPE__ uintptr_t; + @protocol Proto -- (long)someValue; +- (uintptr_t)someValue; @end @interface Obj -- (long)anotherValue; +- (uintptr_t)anotherValue; @end -long foo(void) { - long receiver = 2; +uintptr_t foo(void) { + uintptr_t receiver = 2; Obj *objrcvr; Obj *objrcvr2; /* NB: Since 'receiver' is an invalid ObjC message receiver, the compiler should warn but then search for methods as if we were messaging 'id'. */ - receiver += [receiver someValue]; /* { dg-warning "invalid receiver type .long int." } */ - receiver += [receiver anotherValue]; /* { dg-warning "invalid receiver type .long int." } */ + receiver += [receiver someValue]; /* { dg-warning "invalid receiver type .uintptr_t." } */ + receiver += [receiver anotherValue]; /* { dg-warning "invalid receiver type .uintptr_t." } */ receiver += [(Obj *)receiver someValue]; /* { dg-warning ".Obj. may not respond to .\\-someValue." } */ /* { dg-error "invalid conversion" "" { target *-*-* } .-1 } */