diff options
author | Thomas Koenig <Thomas.Koenig@online.de> | 2006-03-03 16:18:46 +0000 |
---|---|---|
committer | Thomas Koenig <tkoenig@gcc.gnu.org> | 2006-03-03 16:18:46 +0000 |
commit | 5b725b8d04fff8583103bbea88f3d42f5443367d (patch) | |
tree | 2053327438b596f44709a80d2095a44b82bdb8f7 /gcc/fortran/trans-array.h | |
parent | 9a75ede07ca08c69fd38acafea04cc2e1a7bfd10 (diff) | |
download | gcc-5b725b8d04fff8583103bbea88f3d42f5443367d.zip gcc-5b725b8d04fff8583103bbea88f3d42f5443367d.tar.gz gcc-5b725b8d04fff8583103bbea88f3d42f5443367d.tar.bz2 |
re PR fortran/25031 ([4.1 only] Allocatable array can be reallocated.)
2006-03-03 Thomas Koenig <Thomas.Koenig@online.de>
PR fortran/25031
* trans-array.h: Adjust gfc_array_allocate prototype.
* trans-array.c (gfc_array_allocate): Change type of
gfc_array_allocatate to bool. Function returns true if
it operates on an array. Change second argument to gfc_expr.
Find last reference in chain.
If the function operates on an allocatable array, emit call to
allocate_array() or allocate64_array().
* trans-stmt.c (gfc_trans_allocate): Code to follow to last
reference has been moved to gfc_array_allocate.
* trans.h: Add declaration for gfor_fndecl_allocate_array and
gfor_fndecl_allocate64_array.
(gfc_build_builtin_function_decls): Add gfor_fndecl_allocate_array
and gfor_fndecl_allocate64_array.
2006-03-03 Thomas Koenig <Thomas.Koenig@online.de>
PR fortran/25031
* runtime/memory.c: Adjust copyright years.
(allocate_array): New function.
(allocate64_array): New function.
* libgfortran.h (error_codes): Add ERROR_ALLOCATION.
2006-03-03 Thomas Koenig <Thomas.Koenig@online.de>
PR fortran/25031
* multiple_allocation_1.f90: New test.
From-SVN: r111677
Diffstat (limited to 'gcc/fortran/trans-array.h')
-rw-r--r-- | gcc/fortran/trans-array.h | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/gcc/fortran/trans-array.h b/gcc/fortran/trans-array.h index 2f9fd2d..8038f40 100644 --- a/gcc/fortran/trans-array.h +++ b/gcc/fortran/trans-array.h @@ -24,7 +24,7 @@ tree gfc_array_deallocate (tree, tree); /* Generate code to initialize an allocate an array. Statements are added to se, which should contain an expression for the array descriptor. */ -void gfc_array_allocate (gfc_se *, gfc_ref *, tree); +bool gfc_array_allocate (gfc_se *, gfc_expr *, tree); /* Allow the bounds of a loop to be set from a callee's array spec. */ void gfc_set_loop_bounds_from_array_spec (gfc_interface_mapping *, |