This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug fortran/33745] New: -fbounds-check: Bogus out-of-bounds run-time error for assumed-size array
- From: "burnus at gcc dot gnu dot org" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: 12 Oct 2007 06:34:40 -0000
- Subject: [Bug fortran/33745] New: -fbounds-check: Bogus out-of-bounds run-time error for assumed-size array
- Reply-to: gcc-bugzilla at gcc dot gnu dot org
In the following subroutine "findphase", the upper bound of the second
dimension of "jp" is not known. Using -fbounds-check:
Fortran runtime error: Array reference out of bounds, upper bound of dimension
2 of array 'jp' exceeded, 2 is greater than 0
implicit none
integer, parameter :: maxss=7,maxc=8
integer :: jp(2,maxc)
call findphase(jp)
contains
subroutine findphase(jp)
integer, intent(out) :: jp(2,*)
jp(2,2:4)=0
end subroutine
end
>From the dump, one sees that the error is printed unconditionally and twice.
findphase (jp)
{
_gfortran_runtime_error_at (&"At line 8 of file a.f90"[1]{lb: 1 sz: 1},
&"Array reference out of bounds, upper bound of dimension 2 of array \'jp\'
exceeded, %ld is greater than %ld"[1]{lb: 1 sz: 1}, 2, 0);
_gfortran_runtime_error_at (&"At line 8 of file a.f90"[1]{lb: 1 sz: 1},
&"Array reference out of bounds, upper bound of dimension 2 of array \'jp\'
exceeded, %ld is greater than %ld"[1]{lb: 1 sz: 1}, 4, 0);
[...]
--
Summary: -fbounds-check: Bogus out-of-bounds run-time error for
assumed-size array
Product: gcc
Version: 4.3.0
Status: UNCONFIRMED
Keywords: wrong-code
Severity: normal
Priority: P3
Component: fortran
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: burnus at gcc dot gnu dot org
OtherBugsDependingO 27766
nThis:
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=33745