From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 28067 invoked by alias); 21 Aug 2002 04:16:02 -0000 Mailing-List: contact gcc-prs-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Archive: List-Post: List-Help: Sender: gcc-prs-owner@gcc.gnu.org Received: (qmail 28032 invoked by uid 71); 21 Aug 2002 04:16:01 -0000 Date: Tue, 20 Aug 2002 21:36:00 -0000 Message-ID: <20020821041601.28027.qmail@sources.redhat.com> To: nobody@gcc.gnu.org Cc: gcc-prs@gcc.gnu.org, From: Tim Prince Subject: Re: fortran/7662: Dimensions of dummy array in subroutine must agree with arrayed passed from calling program. Reply-To: Tim Prince X-SW-Source: 2002-08/txt/msg00435.txt.bz2 List-Id: The following reply was made to PR fortran/7662; it has been noted by GNATS. From: Tim Prince To: mark.e.smith@arnold.af.mil, gcc-gnats@gcc.gnu.org Cc: Subject: Re: fortran/7662: Dimensions of dummy array in subroutine must agree with arrayed passed from calling program. Date: Tue, 20 Aug 2002 21:04:39 -0700 On Tuesday 20 August 2002 11:44, mark.e.smith@arnold.af.mil wrote: > >Number: 7662 > >Category: fortran > >Synopsis: Dimensions of dummy array in subroutine must agree with > > arrayed passed from calling program. Confidential: no > >Severity: serious > >Priority: medium > >Responsible: unassigned > >State: open > >Class: sw-bug > >Submitter-Id: net > >Arrival-Date: Tue Aug 20 11:46:01 PDT 2002 > >Closed-Date: > >Last-Modified: > >Originator: mark.e.smith@arnold.af.mil > >Release: unknown-1.0 > >Organization: > >Environment: > > Redhat Linux 7.2 > GNU Fortran 0.5.26 20000731 (Red Hat Linux 7.1 2.96-98) > > >Description: > > A dummy array in a subroutine must be at least as large as the passed array > in each of it's dimensions. G77 fails if the dimensions of the dummy array > are not exactly the same as the passed array. > > >How-To-Repeat: > > Here is a sample program that demonstrates the problem > > dimension x(3,4) > data x/1,2,3,4,5,6,7,8,9,10,11,12/ > > print *, 'Correct Array' > do i = 1,3 > print*, (x(i,j), j=1,4) > enddo > > print * > print *, 'Array in Sub' > call prarray(3,4,x) > end > > subroutine prarray(m,n,dumx) > dimension dumx(5,8) > do i = 1,m > print*, (dumx(i,j), j=1,n) > enddo > return > end > > >Fix: > > > >Release-Note: > >Audit-Trail: > >Unformatted: The statements made above conflict with the wording of the standard. It might be useful if g77 could diagnose such violations of the standard, or simply warn about apparent disagreements in passing arguments, but I see no obligation for g77 to make a useful interpretation of this code. In fact, all 3 Fortran compilers which I have installed on linux treat this code about the same, and fail to catch the out of bounds addressing. -- Tim Prince