From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 6025 invoked by alias); 27 Jul 2012 16:09:18 -0000 Received: (qmail 6002 invoked by uid 22791); 27 Jul 2012 16:09:16 -0000 X-SWARE-Spam-Status: No, hits=-1.5 required=5.0 tests=AWL,BAYES_00,RCVD_IN_DNSWL_NONE,T_RP_MATCHES_RCVD X-Spam-Check-By: sourceware.org Received: from smtp21.services.sfr.fr (HELO smtp21.services.sfr.fr) (93.17.128.2) by sourceware.org (qpsmtpd/0.43rc1) with ESMTP; Fri, 27 Jul 2012 16:08:58 +0000 Received: from filter.sfr.fr (localhost [127.0.0.1]) by msfrf2109.sfr.fr (SMTP Server) with ESMTP id EBCC570000F1; Fri, 27 Jul 2012 18:08:55 +0200 (CEST) Received: from [192.168.1.58] (37.15.72.86.rev.sfr.net [86.72.15.37]) by msfrf2109.sfr.fr (SMTP Server) with ESMTP id B247E70000E4; Fri, 27 Jul 2012 18:08:55 +0200 (CEST) X-SFR-UUID: 20120727160855730.B247E70000E4@msfrf2109.sfr.fr Message-ID: <5012BCA1.2090104@sfr.fr> Date: Fri, 27 Jul 2012 16:34:00 -0000 From: Mikael Morin User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:10.0.5) Gecko/20120709 Thunderbird/10.0.5 MIME-Version: 1.0 To: gfortran , gcc-patches Subject: [Patch, fortran] Remove gfc_array_ref::offset field Content-Type: multipart/mixed; boundary="------------030204000301080801030009" X-IsSubscribed: yes 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 X-SW-Source: 2012-07/txt/msg01417.txt.bz2 This is a multi-part message in MIME format. --------------030204000301080801030009 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Content-length: 125 The offset field is never set; this patch removes it. Regression tested on x86_64-unknown-linux-gnu. OK for trunk? Mikael --------------030204000301080801030009 Content-Type: text/x-patch; name="remove_offset_2.diff" Content-Transfer-Encoding: 7bit Content-Disposition: attachment; filename="remove_offset_2.diff" Content-length: 1838 2012-07-27 Mikael Morin * array.c (gfc_copy_array_ref): Don't copy the offset field. * expr.c (find_array_section): Ignore the offset field. * trans-expr.c (gfc_find_interface_mapping_to_ref): Don't apply interface mapping to the offset field. * gfortran.h (struct gfc_array_ref): Remove the offset field. diff --git a/array.c b/array.c index 76bd5c3..f23d0bc 100644 --- a/array.c +++ b/array.c @@ -50,8 +50,6 @@ gfc_copy_array_ref (gfc_array_ref *src) dest->stride[i] = gfc_copy_expr (src->stride[i]); } - dest->offset = gfc_copy_expr (src->offset); - return dest; } diff --git a/expr.c b/expr.c index cb5e1c6..74f204b 100644 --- a/expr.c +++ b/expr.c @@ -1493,10 +1493,7 @@ find_array_section (gfc_expr *expr, gfc_ref *ref) constructor. */ for (idx = 0; idx < (int) mpz_get_si (nelts); idx++) { - if (ref->u.ar.offset) - mpz_set (ptr, ref->u.ar.offset->value.integer); - else - mpz_init_set_ui (ptr, 0); + mpz_init_set_ui (ptr, 0); incr_ctr = true; for (d = 0; d < rank; d++) diff --git a/gfortran.h b/gfortran.h index e1f2e3c..0f96772 100644 --- a/gfortran.h +++ b/gfortran.h @@ -1515,8 +1515,6 @@ typedef struct gfc_array_ref *stride[GFC_MAX_DIMENSIONS]; enum gfc_array_ref_dimen_type dimen_type[GFC_MAX_DIMENSIONS]; - - struct gfc_expr *offset; } gfc_array_ref; diff --git a/trans-expr.c b/trans-expr.c index 263605a..2603995 100644 --- a/trans-expr.c +++ b/trans-expr.c @@ -2806,7 +2806,6 @@ gfc_apply_interface_mapping_to_ref (gfc_interface_mapping * mapping, gfc_apply_interface_mapping_to_expr (mapping, ref->u.ar.end[n]); gfc_apply_interface_mapping_to_expr (mapping, ref->u.ar.stride[n]); } - gfc_apply_interface_mapping_to_expr (mapping, ref->u.ar.offset); break; case REF_COMPONENT: --------------030204000301080801030009--