From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 6630 invoked by alias); 19 Aug 2010 16:03:09 -0000 Received: (qmail 4159 invoked by alias); 19 Aug 2010 16:02:50 -0000 Date: Thu, 19 Aug 2010 16:03:00 -0000 Message-ID: <20100819160250.4156.qmail@sourceware.org> X-Bugzilla-Reason: CC References: Subject: [Bug fortran/29785] Fortran 2003: POINTER Rank Remapping In-Reply-To: Reply-To: gcc-bugzilla@gcc.gnu.org To: gcc-bugs@gcc.gnu.org From: "domob at gcc dot gnu dot org" Mailing-List: contact gcc-bugs-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Id: List-Archive: List-Post: List-Help: Sender: gcc-bugs-owner@gcc.gnu.org X-SW-Source: 2010-08/txt/msg01591.txt.bz2 ------- Comment #10 from domob at gcc dot gnu dot org 2010-08-19 16:02 ------- Subject: Bug 29785 Author: domob Date: Thu Aug 19 16:02:30 2010 New Revision: 163377 URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=163377 Log: 2010-08-19 Daniel Kraft PR fortran/29785 PR fortran/45016 * trans.h (struct gfc_se): New flag `byref_noassign'. * trans-array.h (gfc_conv_shift_descriptor_lbound): New method. (gfc_conv_array_extent_dim), (gfc_conv_descriptor_size): New methods. * expr.c (gfc_check_pointer_assign): Allow bounds and rank remapping and check for compile-time errors with those. * trans-decl.c (trans_associate_var): Use new routine `gfc_conv_shift_descriptor_lbound' instead of doing it manually. * trans-array.c (gfc_conv_shift_descriptor_lbound): New method. (gfc_conv_array_extent_dim), (gfc_conv_descriptor_size): New methods. (gfc_array_init_size): Use new `gfc_conv_array_extent_dim'. (gfc_conv_expr_descriptor): Handle new flag `byref_noassign'. * trans-expr.c (gfc_trans_pointer_assignment): Handle bounds and rank remapping for assignment. 2010-08-19 Daniel Kraft PR fortran/29785 PR fortran/45016 * gfortran.dg/pointer_assign_5.f90: Remove 'not implemented' error. * gfortran.dg/pointer_remapping_1.f90: New test. * gfortran.dg/pointer_remapping_2.f03: New test. * gfortran.dg/pointer_remapping_3.f08: New test. * gfortran.dg/pointer_remapping_4.f03: New test. * gfortran.dg/pointer_remapping_5.f08: New test. * gfortran.dg/pointer_remapping_6.f08: New test. Added: trunk/gcc/testsuite/gfortran.dg/pointer_remapping_1.f90 trunk/gcc/testsuite/gfortran.dg/pointer_remapping_2.f03 trunk/gcc/testsuite/gfortran.dg/pointer_remapping_3.f08 trunk/gcc/testsuite/gfortran.dg/pointer_remapping_4.f03 trunk/gcc/testsuite/gfortran.dg/pointer_remapping_5.f08 trunk/gcc/testsuite/gfortran.dg/pointer_remapping_6.f08 Modified: trunk/gcc/fortran/ChangeLog trunk/gcc/fortran/expr.c trunk/gcc/fortran/trans-array.c trunk/gcc/fortran/trans-array.h trunk/gcc/fortran/trans-decl.c trunk/gcc/fortran/trans-expr.c trunk/gcc/fortran/trans.h trunk/gcc/testsuite/ChangeLog trunk/gcc/testsuite/gfortran.dg/pointer_assign_5.f90 -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=29785