From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 9911 invoked by alias); 16 Jul 2006 10:12:18 -0000 Received: (qmail 8721 invoked by alias); 16 Jul 2006 10:12:06 -0000 Date: Sun, 16 Jul 2006 10:12:00 -0000 Message-ID: <20060716101206.8720.qmail@sourceware.org> X-Bugzilla-Reason: CC References: Subject: [Bug fortran/27980] [4.1 only] Wrong allocation for zero-sized function result In-Reply-To: Reply-To: gcc-bugzilla@gcc.gnu.org To: gcc-bugs@gcc.gnu.org From: "tkoenig at gcc dot gnu dot org" 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 X-SW-Source: 2006-07/txt/msg01165.txt.bz2 List-Id: ------- Comment #7 from tkoenig at gcc dot gnu dot org 2006-07-16 10:12 ------- Subject: Bug 27980 Author: tkoenig Date: Sun Jul 16 10:11:57 2006 New Revision: 115496 URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=115496 Log: 2006-07-16 Thomas Koenig PR fortran/27980 Backport from mainline * trans-array.h (gfc_trans_allocate_temp_array): Add bool argument. * trans-array.c (gfc_trans_allocate_temp_array): Add extra argument "function" to show if we are translating a function. If we are translating a function, perform checks whether the size along any argument is negative. In that case, allocate size 0. (gfc_trans_array_constructor): Add funciton argument (as false) to gfc_trans_allocate_temp_array. (gfc_conv_loop_setup): Likewise. * trans-expr.c (gfc_trans_function_call): Add funciton argument (as true) to gfc_trans_allocate_temp_array. * trans-stmt.c (gfc_conv_elemental_dependencies): Add funciton argument (as false) to gfc_trans_allocate_temp_array. * trans-intrinsic.c (gfc_conv_intrinsic_array_transfer): Likewise. 2006-07-16 Thomas Koenig PR fortran/27980 * gfortran.dg/allocate_zerosize_2.f90: New test. Added: branches/gcc-4_1-branch/gcc/testsuite/gfortran.dg/allocate_zerosize_2.f90 Modified: branches/gcc-4_1-branch/gcc/fortran/ChangeLog branches/gcc-4_1-branch/gcc/fortran/trans-array.c branches/gcc-4_1-branch/gcc/fortran/trans-array.h branches/gcc-4_1-branch/gcc/fortran/trans-expr.c branches/gcc-4_1-branch/gcc/fortran/trans-intrinsic.c branches/gcc-4_1-branch/gcc/fortran/trans-stmt.c branches/gcc-4_1-branch/gcc/testsuite/ChangeLog -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=27980