From patchwork Sun Jan 9 16:35:20 2011 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Iain Sandoe X-Patchwork-Id: 78037 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Received: from sourceware.org (server1.sourceware.org [209.132.180.131]) by ozlabs.org (Postfix) with SMTP id 26444B7082 for ; Mon, 10 Jan 2011 03:35:38 +1100 (EST) Received: (qmail 14057 invoked by alias); 9 Jan 2011 16:35:36 -0000 Received: (qmail 13740 invoked by uid 22791); 9 Jan 2011 16:35:35 -0000 X-SWARE-Spam-Status: No, hits=-1.9 required=5.0 tests=AWL, BAYES_00, RCVD_IN_DNSWL_NONE, TW_BJ X-Spam-Check-By: sourceware.org Received: from c2bthomr07.btconnect.com (HELO mail.btconnect.com) (213.123.20.125) by sourceware.org (qpsmtpd/0.43rc1) with ESMTP; Sun, 09 Jan 2011 16:35:28 +0000 Received: from host81-138-1-83.in-addr.btopenworld.com (EHLO thor.office) ([81.138.1.83]) by c2bthomr07.btconnect.com with ESMTP id BMY19730; Sun, 09 Jan 2011 16:35:21 +0000 (GMT) Message-Id: <19C55850-6566-47CA-9082-BB6DB101645E@sandoe-acoustics.co.uk> From: IainS To: GCC Patches Mime-Version: 1.0 (Apple Message framework v936) Subject: [Patch Objc/NeXT/Testuite, committed] *foreach* adjustments for Darwin Date: Sun, 9 Jan 2011 16:35:20 +0000 Cc: Mike Stump , Nicola Pero X-Mirapoint-IP-Reputation: reputation=Fair-1, source=Queried, refid=tid=0001.0A0B0302.4D29E3C8.00E9, actions=TAG X-Junkmail-Signature-Raw: score=unknown, refid=str=0001.0A0B0207.4D29E3CB.01B8, ss=1, fgs=0, ip=0.0.0.0, so=2010-07-22 22:03:31, dmn=2009-09-10 00:05:08, mode=single engine X-IsSubscribed: yes Mailing-List: contact gcc-patches-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Id: List-Unsubscribe: List-Archive: List-Post: List-Help: Sender: gcc-patches-owner@gcc.gnu.org Delivered-To: mailing list gcc-patches@gcc.gnu.org we've picked up a fair number of test-suite fails (especially on Darwin8) because of absent functionality and minor nits with headers. Part 1. Darwin 8 does not have fast enumeration support in its NeXT lib - so skipping those tests. We also need to ensure that 'self' is returned from init methods where required (it's a miracle that it works some of the time as is). checked on x86_64-linux, i686-darwin8, i686-darwin9, x86_64-darwin10. applied as 168616 cheers Iain gcc/testsuite: * objc.dg/foreach-1.m: Skip for Darwin < 9. * objc.dg/objc-foreach-4.m: Likewise. * objc.dg/objc-foreach-5.m: Skip for Darwin < 9, adjust headers. * objc.dg/foreach-2.m: Skip for Darwin < 9, return self from init. * objc.dg/foreach-4.m: Likewise. * objc.dg/foreach-5.m: Likewise. * objc.dg/foreach-3.m: Return self from init. Index: gcc/testsuite/ChangeLog =================================================================== --- gcc/testsuite/ChangeLog (revision 168614) +++ gcc/testsuite/ChangeLog (working copy) @@ -1,3 +1,13 @@ +2011-01-09 Iain Sandoe + + * objc.dg/foreach-1.m: Skip for Darwin < 9. + * objc.dg/objc-foreach-4.m: Likewise. + * objc.dg/objc-foreach-5.m: Skip for Darwin < 9, adjust headers. + * objc.dg/foreach-2.m: Skip for Darwin < 9, return self from init. + * objc.dg/foreach-4.m: Likewise. + * objc.dg/foreach-5.m: Likewise. + * objc.dg/foreach-3.m: Return self from init. + 2011-01-09 Thomas Koenig PR fortran/38536 Index: gcc/testsuite/objc.dg/foreach-1.m =================================================================== --- gcc/testsuite/objc.dg/foreach-1.m (revision 168614) +++ gcc/testsuite/objc.dg/foreach-1.m (working copy) @@ -2,6 +2,7 @@ do nothing. */ /* { dg-do run } */ +/* { dg-skip-if "No NeXT fast enum. pre-Darwin9" { *-*-darwin[5-8]* } { "-fnext-runtime" } { "" } } */ /* { dg-xfail-run-if "Needs OBJC2 ABI" { *-*-darwin* && { lp64 && { ! objc2 } } } { "-fnext-runtime" } { "" } } */ /* { dg-additional-sources "../objc-obj-c++-shared/Object1.m" } */ /* { dg-options "-Wall" } */ Index: gcc/testsuite/objc.dg/foreach-2.m =================================================================== --- gcc/testsuite/objc.dg/foreach-2.m (revision 168614) +++ gcc/testsuite/objc.dg/foreach-2.m (working copy) @@ -2,6 +2,7 @@ the basic syntax 'for (object in array) statements' */ /* { dg-do run } */ +/* { dg-skip-if "No NeXT fast enum. pre-Darwin9" { *-*-darwin[5-8]* } { "-fnext-runtime" } { "" } } */ /* { dg-xfail-run-if "Needs OBJC2 ABI" { *-*-darwin* && { lp64 && { ! objc2 } } } { "-fnext-runtime" } { "" } } */ /* { dg-options "-mno-constant-cfstrings" { target *-*-darwin* } } */ /* { dg-additional-sources "../objc-obj-c++-shared/Object1.m" } */ @@ -49,6 +50,7 @@ struct __objcFastEnumerationState length = l; objects = o; mutated = 0; + return self; } - (void) mutate { Index: gcc/testsuite/objc.dg/foreach-3.m =================================================================== --- gcc/testsuite/objc.dg/foreach-3.m (revision 168614) +++ gcc/testsuite/objc.dg/foreach-3.m (working copy) @@ -50,6 +50,7 @@ struct __objcFastEnumerationState length = l; objects = o; mutated = 0; + return self; } - (void) mutate { Index: gcc/testsuite/objc.dg/foreach-4.m =================================================================== --- gcc/testsuite/objc.dg/foreach-4.m (revision 168614) +++ gcc/testsuite/objc.dg/foreach-4.m (working copy) @@ -2,6 +2,7 @@ the declaration syntax 'for (id object in array) statements' */ /* { dg-do run } */ +/* { dg-skip-if "No NeXT fast enum. pre-Darwin9" { *-*-darwin[5-8]* } { "-fnext-runtime" } { "" } } */ /* { dg-xfail-run-if "Needs OBJC2 ABI" { *-*-darwin* && { lp64 && { ! objc2 } } } { "-fnext-runtime" } { "" } } */ /* { dg-options "-mno-constant-cfstrings" { target *-*-darwin* } } */ /* { dg-additional-sources "../objc-obj-c++-shared/Object1.m" } */ @@ -49,6 +50,7 @@ struct __objcFastEnumerationState length = l; objects = o; mutated = 0; + return self; } - (void) mutate { Index: gcc/testsuite/objc.dg/foreach-5.m =================================================================== --- gcc/testsuite/objc.dg/foreach-5.m (revision 168614) +++ gcc/testsuite/objc.dg/foreach-5.m (working copy) @@ -2,6 +2,7 @@ define your own NSFastEnumeration struct, the compiler picks it up. */ /* { dg-do run } */ +/* { dg-skip-if "No NeXT fast enum. pre-Darwin9" { *-*-darwin[5-8]* } { "-fnext-runtime" } { "" } } */ /* { dg-xfail-run-if "Needs OBJC2 ABI" { *-*-darwin* && { lp64 && { ! objc2 } } } { "-fnext-runtime" } { "" } } */ /* { dg-options "-mno-constant-cfstrings" { target *-*-darwin* } } */ /* { dg-additional-sources "../objc-obj-c++-shared/Object1.m" } */ @@ -47,6 +48,7 @@ typedef struct length = l; objects = o; mutated = 0; + return self; } - (void) mutate { Index: gcc/testsuite/objc.dg/objc-foreach-4.m =================================================================== --- gcc/testsuite/objc.dg/objc-foreach-4.m (revision 168614) +++ gcc/testsuite/objc.dg/objc-foreach-4.m (working copy) @@ -2,6 +2,7 @@ /* FIXME: Run this test with the GNU runtime as well. */ /* { dg-do compile { target *-*-darwin* } } */ /* { dg-skip-if "" { *-*-* } { "-fgnu-runtime" } { "" } } */ +/* { dg-skip-if "No NeXT fast enum. pre-Darwin9" { *-*-darwin[5-8]* } { "-fnext-runtime" } { "" } } */ #include #include Index: gcc/testsuite/objc.dg/objc-foreach-5.m =================================================================== --- gcc/testsuite/objc.dg/objc-foreach-5.m (revision 168614) +++ gcc/testsuite/objc.dg/objc-foreach-5.m (working copy) @@ -1,8 +1,8 @@ /* FIXME: Run this test with the GNU runtime as well. */ /* { dg-do compile { target *-*-darwin* } } */ /* { dg-skip-if "" { *-*-* } { "-fgnu-runtime" } { "" } } */ +/* { dg-skip-if "No NeXT fast enum. pre-Darwin9" { *-*-darwin[5-8]* } { "-fnext-runtime" } { "" } } */ -#include #import NSArray * createTestVictim(unsigned capacity) {