From patchwork Sat Jun 28 10:31:31 2014 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Ulrich Weigand X-Patchwork-Id: 365266 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]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 089BB140076 for ; Sat, 28 Jun 2014 20:31:47 +1000 (EST) DomainKey-Signature: a=rsa-sha1; c=nofws; d=gcc.gnu.org; h=list-id :list-unsubscribe:list-archive:list-post:list-help:sender :message-id:subject:to:date:from:cc:in-reply-to:mime-version :content-type:content-transfer-encoding; q=dns; s=default; b=Yym AZ3MRhD+U94Kxmv6Pb3SNTD5MRm7Zu9YGw6HnLPXEbiXn1HGWWyGDuN6Z3tG52k5 bAgSGqVgZiECuEyU7iBB93JArlsH+omuJuAqdiGHVjykmTj4T470cSGimErQ5d0o mJxFEHCA5obeWJnK0CgJnTK/SqfLuTkzSHnhj+eA= DKIM-Signature: v=1; a=rsa-sha1; c=relaxed; d=gcc.gnu.org; h=list-id :list-unsubscribe:list-archive:list-post:list-help:sender :message-id:subject:to:date:from:cc:in-reply-to:mime-version :content-type:content-transfer-encoding; s=default; bh=6jQ8iQS88 p/35lWovS/JAT/ZLOE=; b=l3qjF3sMTLaZsYATqO3jON0MQ4fFbI5AtVPgkpL9Z 1qLp/63lQFsGP1Ow6rqHkLbK51TISa1zN9snTbzNOVjBMmOSRRgN4TpL4J6tiAGk izpPs/lzNj/QUA8kHyFhU6607ParBR5UUOlPyDvO9jEiXLmnmibr+jzyUNB+/lqn K0= Received: (qmail 9757 invoked by alias); 28 Jun 2014 10:31:41 -0000 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 Received: (qmail 9737 invoked by uid 89); 28 Jun 2014 10:31:39 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-1.8 required=5.0 tests=AWL, BAYES_00, MSGID_FROM_MTA_HEADER, SPF_PASS, T_RP_MATCHES_RCVD autolearn=ham version=3.3.2 X-HELO: e06smtp15.uk.ibm.com Received: from e06smtp15.uk.ibm.com (HELO e06smtp15.uk.ibm.com) (195.75.94.111) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with (AES256-SHA encrypted) ESMTPS; Sat, 28 Jun 2014 10:31:38 +0000 Received: from /spool/local by e06smtp15.uk.ibm.com with IBM ESMTP SMTP Gateway: Authorized Use Only! Violators will be prosecuted for from ; Sat, 28 Jun 2014 11:31:35 +0100 Received: from d06dlp02.portsmouth.uk.ibm.com (9.149.20.14) by e06smtp15.uk.ibm.com (192.168.101.145) with IBM ESMTP SMTP Gateway: Authorized Use Only! Violators will be prosecuted; Sat, 28 Jun 2014 11:31:34 +0100 Received: from b06cxnps4076.portsmouth.uk.ibm.com (d06relay13.portsmouth.uk.ibm.com [9.149.109.198]) by d06dlp02.portsmouth.uk.ibm.com (Postfix) with ESMTP id 923AF2190042 for ; Sat, 28 Jun 2014 11:31:21 +0100 (BST) Received: from d06av02.portsmouth.uk.ibm.com (d06av02.portsmouth.uk.ibm.com [9.149.37.228]) by b06cxnps4076.portsmouth.uk.ibm.com (8.13.8/8.13.8/NCO v10.0) with ESMTP id s5SAVXKV31654050 for ; Sat, 28 Jun 2014 10:31:33 GMT Received: from d06av02.portsmouth.uk.ibm.com (localhost [127.0.0.1]) by d06av02.portsmouth.uk.ibm.com (8.14.4/8.14.4/NCO v10.0 AVout) with ESMTP id s5SAVXgU014791 for ; Sat, 28 Jun 2014 04:31:33 -0600 Received: from tuxmaker.boeblingen.de.ibm.com (tuxmaker.boeblingen.de.ibm.com [9.152.85.9]) by d06av02.portsmouth.uk.ibm.com (8.14.4/8.14.4/NCO v10.0 AVin) with SMTP id s5SAVW8T014778; Sat, 28 Jun 2014 04:31:32 -0600 Message-Id: <201406281031.s5SAVW8T014778@d06av02.portsmouth.uk.ibm.com> Received: by tuxmaker.boeblingen.de.ibm.com (sSMTP sendmail emulation); Sat, 28 Jun 2014 12:31:31 +0200 Subject: [commit] Fix ABI fallout (Re: wide-int, rs6000) To: mikestump@comcast.net (Mike Stump) Date: Sat, 28 Jun 2014 12:31:31 +0200 (CEST) From: "Ulrich Weigand" Cc: zadeck@naturalbridge.com (Kenneth Zadeck), gcc-patches@gcc.gnu.org (GCC Patches), dje.gcc@gmail.com (David Edelsohn) In-Reply-To: <52206F9F-3BFD-44E5-91AA-C4250D9C681C@comcast.net> from "Mike Stump" at Nov 26, 2013 02:46:44 PM MIME-Version: 1.0 X-TM-AS-MML: disable X-Content-Scanned: Fidelis XPS MAILER x-cbid: 14062810-0342-0000-0000-000000434C10 Mike Stump wrote: > (rs6000_aggregate_candidate): Use wide-int interfaces. [snip] > - /* Can't handle incomplete types. */ > - if (!COMPLETE_TYPE_P (type)) > - return -1; > + /* Can't handle incomplete types nor sizes that are not > + fixed. */ > + if (!COMPLETE_TYPE_P (type) > + || TREE_CODE (TYPE_SIZE (type)) != INTEGER_CST) > This patch introduced an accidental change: the "return -1;" line was deleted. This influences certain ABI decisions, e.g. whether a union of two vector types is supposed to be passed in a VR or in GPRs. (Noticed by running the ABI compatibility test suite.) Fortunately, this bug never made it into any (FSF or distribtion) GCC release, so we can simply fix it now without introducing any incompatibilities ... I've checked in the following patch as obvious. Bye, Ulrich ChangeLog: 2014-06-28 Ulrich Weigand * config/rs6000/rs6000.c (rs6000_aggregate_candidate): Revert accidental change due to wide-int branch merge. Index: gcc/config/rs6000/rs6000.c =================================================================== --- gcc/config/rs6000/rs6000.c (revision 212069) +++ gcc/config/rs6000/rs6000.c (working copy) @@ -8766,6 +8766,7 @@ fixed. */ if (!COMPLETE_TYPE_P (type) || TREE_CODE (TYPE_SIZE (type)) != INTEGER_CST) + return -1; for (field = TYPE_FIELDS (type); field; field = TREE_CHAIN (field)) {