From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 13842 invoked by alias); 5 Jun 2005 08:59:53 -0000 Mailing-List: contact gcc-bugs-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Archive: List-Post: List-Help: Sender: gcc-bugs-owner@gcc.gnu.org Received: (qmail 13594 invoked by alias); 5 Jun 2005 08:59:38 -0000 Date: Sun, 05 Jun 2005 09:02:00 -0000 Message-ID: <20050605085938.13593.qmail@sourceware.org> From: "cvs-commit at gcc dot gnu dot org" To: gcc-bugs@gcc.gnu.org In-Reply-To: <20041022133113.18109.martin@mpa-garching.mpg.de> References: <20041022133113.18109.martin@mpa-garching.mpg.de> Reply-To: gcc-bugzilla@gcc.gnu.org Subject: [Bug fortran/18109] ICE with explicit array of strings X-Bugzilla-Reason: CC X-SW-Source: 2005-06/txt/msg00690.txt.bz2 List-Id: ------- Additional Comments From cvs-commit at gcc dot gnu dot org 2005-06-05 08:59 ------- Subject: Bug 18109 CVSROOT: /cvs/gcc Module name: gcc Branch: gcc-4_0-branch Changes by: pault@gcc.gnu.org 2005-06-05 08:59:18 Modified files: gcc/fortran : ChangeLog trans-array.c trans-expr.c Log message: 005-05-31 Paul Thomas PR fortran/18109 PR fortran/18283 PR fortran/19107 PR fortran/16939 PR fortran/17192 PR fortran/17193 PR fortran/17202 PR fortran/18689 PR fortran/18890 * fortran/trans-array.c (gfc_conv_expr_descriptor): Obtain the string length from the expression typespec character length value and set temp_ss->stringlength and backend_decl. Obtain the tree expression from gfc_conv_expr rather than gfc_conv_expr_val. Dereference the expression to obtain the character. * fortran/trans-array.c (gfc_conv_resolve_dependencies): Add string length to temp_ss for character pointer array assignments. * fortran/trans-expr.c (gfc_conv_component_ref): Remove the dereference of scalar character pointer structure components. * fortran/trans-expr.c (gfc_trans_subarray_assign): Obtain the string length for the structure component from the component expression. * fortran/trans-expr.c (gfc_conv_variable): Correct errors in dereferencing of characters and character pointers. * fortran/trans-expr.c (gfc_conv_function_call): Provide string length as return argument for various kinds of handling of return. Return a char[]* temporary for character pointer functions and dereference the temporary upon return. Patches: http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/fortran/ChangeLog.diff?cvsroot=gcc&only_with_tag=gcc-4_0-branch&r1=1.335.2.66&r2=1.335.2.67 http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/fortran/trans-array.c.diff?cvsroot=gcc&only_with_tag=gcc-4_0-branch&r1=1.39.2.3&r2=1.39.2.4 http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/fortran/trans-expr.c.diff?cvsroot=gcc&only_with_tag=gcc-4_0-branch&r1=1.38.2.4&r2=1.38.2.5 -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=18109