re PR fortran/13792 (lbound/ubound generates internal compiler error)

fortran/
PR fortran/13792
* simplify.c (gfc_simplify_bound): Copy the bound expression.

testsuite/
PR fortran/13792
* gfortran.fortran-torture/execute/bounds.f90: Add check for
compile-time simplification.

From-SVN: r84773
This commit is contained in:
Tobias Schlüter 2004-07-15 21:55:05 +02:00 committed by Tobias Schlüter
parent 4c467d4113
commit 0c0df4b3f0
4 changed files with 13 additions and 3 deletions

View File

@ -6,7 +6,10 @@
PR fortran/15140
* trans-decl.c (gfc_trans_deferred_vars): Remove bogus assertion.
PR fortran/13792
* simplify.c (gfc_simplify_bound): Copy the bound expression.
2004-07-15 Tobias Schlueter <tobias.schlueter@physik.uni-muenchen.de>
PR fortran/15324

View File

@ -1892,9 +1892,9 @@ gfc_simplify_bound (gfc_expr * array, gfc_expr * dim, int upper)
i = mpz_get_si (dim->value.integer);
if (upper)
return as->upper[i-1];
return gfc_copy_expr (as->upper[i-1]);
else
return as->lower[i-1];
return gfc_copy_expr (as->lower[i-1]);
}

View File

@ -9,6 +9,10 @@
PR fortran/15140
* gfortran.dg/pr15140.f90: New test.
PR fortran/13792
* gfortran.fortran-torture/execute/bounds.f90: Add check for
compile-time simplification.
2004-07-14 Mike Stump <mrs@apple.com>
* gcc.dg/20020426-2.c: Improve type safety wrt unsignedness.

View File

@ -5,6 +5,9 @@ program testbounds
integer, dimension(5) :: j
integer i
! Check compile time simplification
if (lbound(j,1).ne.1 .or. ubound(j,1).ne.5) call abort ()
allocate (a(3:8, 6:7))
! With one parameter