From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 18938 invoked by alias); 30 Aug 2007 22:11:30 -0000 Received: (qmail 18767 invoked by alias); 30 Aug 2007 22:11:14 -0000 Date: Thu, 30 Aug 2007 22:11:00 -0000 Message-ID: <20070830221114.18765.qmail@sourceware.org> X-Bugzilla-Reason: CC References: Subject: [Bug fortran/31197] [4.2/4.3 regression] TRANSPOSE/RESHAPE and strings In-Reply-To: Reply-To: gcc-bugzilla@gcc.gnu.org To: gcc-bugs@gcc.gnu.org From: "pault 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: 2007-08/txt/msg02328.txt.bz2 ------- Comment #22 from pault at gcc dot gnu dot org 2007-08-30 22:11 ------- Subject: Bug 31197 Author: pault Date: Thu Aug 30 22:10:55 2007 New Revision: 127939 URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=127939 Log: 2007-08-31 Paul Thomas PR fortran/31879 PR fortran/31197 PR fortran/31258 PR fortran/32703 * gfortran.h : Add prototype for gfc_resolve_substring_charlen. * resolve.c (gfc_resolve_substring_charlen): New function. (resolve_ref): Call gfc_resolve_substring_charlen. (gfc_resolve_character_operator): New function. (gfc_resolve_expr): Call the new functions in cases where the character length is missing. * iresolve.c (cshift, eoshift, merge, pack, reshape, spread, transpose, unpack): Call gfc_resolve_substring_charlen for source expressions that are character and have a reference. * trans.h (gfc_trans_init_string_length) Change name to gfc_conv_string_length; modify references in trans-expr.c, trans-array.c and trans-decl.c. * trans-expr.c (gfc_trans_string_length): Handle case of no backend_decl. (gfc_conv_aliased_arg): Remove code for treating substrings and replace with call to gfc_trans_string_length. * trans-array.c (gfc_conv_expr_descriptor): Remove code for treating strings and call gfc_trans_string_length instead. 2007-08-31 Paul Thomas PR fortran/31879 * gfortran.dg/char_length_7.f90: New test. * gfortran.dg/char_length_9.f90: New test. * gfortran.dg/char_assign_1.f90: Add extra warning. PR fortran/31197 PR fortran/31258 * gfortran.dg/char_length_8.f90: New test. Added: trunk/gcc/testsuite/gfortran.dg/char_length_7.f90 trunk/gcc/testsuite/gfortran.dg/char_length_8.f90 trunk/gcc/testsuite/gfortran.dg/char_length_9.f90 Modified: trunk/gcc/fortran/ChangeLog trunk/gcc/fortran/gfortran.h trunk/gcc/fortran/iresolve.c trunk/gcc/fortran/resolve.c trunk/gcc/fortran/trans-array.c 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/char_assign_1.f90 -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=31197