From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 9410 invoked by alias); 17 Mar 2007 20:58:28 -0000 Received: (qmail 9388 invoked by uid 48); 17 Mar 2007 20:58:19 -0000 Date: Sat, 17 Mar 2007 20:58:00 -0000 Message-ID: <20070317205819.9387.qmail@sourceware.org> X-Bugzilla-Reason: CC References: Subject: [Bug fortran/31203] Character length should never be negative In-Reply-To: Reply-To: gcc-bugzilla@gcc.gnu.org To: gcc-bugs@gcc.gnu.org From: "fxcoudert 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-03/txt/msg01691.txt.bz2 ------- Comment #4 from fxcoudert at gcc dot gnu dot org 2007-03-17 20:58 ------- A two-lines fix for this bug: Index: gcc/fortran/trans-expr.c =================================================================== --- gcc/fortran/trans-expr.c (revision 123028) +++ gcc/fortran/trans-expr.c (working copy) @@ -227,6 +227,8 @@ gfc_init_se (&se, NULL); gfc_conv_expr_type (&se, cl->length, gfc_charlen_type_node); + se.expr = fold_build2 (MAX_EXPR, gfc_charlen_type_node, se.expr, + build_int_cst (gfc_charlen_type_node, 0)); gfc_add_block_to_block (pblock, &se.pre); tmp = cl->backend_decl; -- fxcoudert at gcc dot gnu dot org changed: What |Removed |Added ---------------------------------------------------------------------------- AssignedTo|unassigned at gcc dot gnu |fxcoudert at gcc dot gnu dot |dot org |org Status|NEW |ASSIGNED Last reconfirmed|2007-03-16 20:48:08 |2007-03-17 20:58:19 date| | http://gcc.gnu.org/bugzilla/show_bug.cgi?id=31203