From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 124280 invoked by alias); 6 Jul 2015 14:23:21 -0000 Mailing-List: contact gcc-patches-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Id: List-Archive: List-Post: List-Help: Sender: gcc-patches-owner@gcc.gnu.org Received: (qmail 124267 invoked by uid 89); 6 Jul 2015 14:23:20 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-1.1 required=5.0 tests=AWL,BAYES_00,KAM_LAZY_DOMAIN_SECURITY,RP_MATCHES_RCVD autolearn=no version=3.3.2 X-HELO: foss.arm.com Received: from foss.arm.com (HELO foss.arm.com) (217.140.101.70) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Mon, 06 Jul 2015 14:23:20 +0000 Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.72.51.249]) by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id 347CD75; Mon, 6 Jul 2015 07:23:46 -0700 (PDT) Received: from [10.2.206.27] (e105545-lin.cambridge.arm.com [10.2.206.27]) by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id 3C0693F317; Mon, 6 Jul 2015 07:23:15 -0700 (PDT) Message-ID: <559A8F51.80407@foss.arm.com> Date: Mon, 06 Jul 2015 14:23:00 -0000 From: Ramana Radhakrishnan User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Thunderbird/31.6.0 MIME-Version: 1.0 To: Alan Lawrence , Eric Botcazou CC: Richard Earnshaw , "gcc-patches@gcc.gnu.org" Subject: Re: [PATCH 1/2][ARM] PR/65956 AAPCS update for alignment attribute References: <5596A98A.7080500@arm.com> <5596B421.2030806@foss.arm.com> <2568443.T54aGJxWO1@polaris> <559A5FD1.3040102@arm.com> In-Reply-To: <559A5FD1.3040102@arm.com> Content-Type: text/plain; charset=windows-1252 Content-Transfer-Encoding: 7bit X-IsSubscribed: yes X-SW-Source: 2015-07/txt/msg00354.txt.bz2 On 06/07/15 12:00, Alan Lawrence wrote: > Eric Botcazou wrote: >>> Technically this is incorrect since AGGREGATE_TYPE_P includes ARRAY_TYPE >>> and ARRAY_TYPE doesn't have TYPE_FIELDS. I doubt we could reach that >>> case though (unless there's a language that allows passing arrays by value). >> >> Ada passes small array types by the method specified by the pass_by_reference hook (and large array types by reference). > > Ok, thanks. Here's a revised patch that handles array types. Again I've tested on both trunk (bootstrap + check-gcc) and gcc-5-branch (profiledbootstrap now succeeding + check-gcc). Jakub's pr65956.c testcase also now passes. > > The new code lacks a testcase; from what Eric says, it's possible we can write one using Ada, but I don't know any Ada myself, so I think any testcase should follow in a separate patch. > > Neither have I managed to run a check-ada yet, as I don't presently have a working Ada compiler with which to bootstrap gcc's Ada frontend. Working on this now. This is OK, the ada testing can go in parallel and we should take this in to not delay rc1 any further. regards Ramana > > --Alan > > gcc/ChangeLog: > > * config/arm/arm.c (arm_needs_doubleword_align) : Drop any outer > alignment attribute, exploring one level down for records and arrays.