aboutsummaryrefslogtreecommitdiff
path: root/gcc/fortran/trans-array.h
diff options
context:
space:
mode:
authorErik Edelmann <eedelman@gcc.gnu.org>2006-02-12 17:34:15 +0000
committerErik Edelmann <eedelman@gcc.gnu.org>2006-02-12 17:34:15 +0000
commit5b0b72518b76d75ad93ac95e6e05e772124085df (patch)
tree567b946985b670e7b860c5ac6728f1f803b19ebb /gcc/fortran/trans-array.h
parentcac90078ea4d95125ad7e45c610d3859dfc1d164 (diff)
downloadgcc-5b0b72518b76d75ad93ac95e6e05e772124085df.zip
gcc-5b0b72518b76d75ad93ac95e6e05e772124085df.tar.gz
gcc-5b0b72518b76d75ad93ac95e6e05e772124085df.tar.bz2
re PR fortran/25806 (problems with functions returning array pointers?)
fortran/ 2006-02-12 Erik Edelmann <eedelman@gcc.gnu.org> PR fortran/25806 * trans-array.c (gfc_trans_allocate_array_storage): New argument dealloc; free the temporary only if dealloc is true. (gfc_trans_allocate_temp_array): New argument bool dealloc, to be passed onwards to gfc_trans_allocate_array_storage. (gfc_trans_array_constructor, gfc_conv_loop_setup): Update call to gfc_trans_allocate_temp_array. * trans-array.h (gfc_trans_allocate_temp_array): Update function prototype. * trans-expr.c (gfc_conv_function_call): Set new argument 'dealloc' to gfc_trans_allocate_temp_array to false in case of functions returning pointers. (gfc_trans_arrayfunc_assign): Return NULL for functions returning pointers. testsuite/ 2006-02-12 Erik Edelmann <eedelman@gcc.gnu.org> PR fortran/25806 * gfortran.dg/ret_pointer_2.f90: New test. From-SVN: r110893
Diffstat (limited to 'gcc/fortran/trans-array.h')
-rw-r--r--gcc/fortran/trans-array.h3
1 files changed, 2 insertions, 1 deletions
diff --git a/gcc/fortran/trans-array.h b/gcc/fortran/trans-array.h
index ef3d026..2f9fd2d 100644
--- a/gcc/fortran/trans-array.h
+++ b/gcc/fortran/trans-array.h
@@ -32,7 +32,8 @@ void gfc_set_loop_bounds_from_array_spec (gfc_interface_mapping *,
/* Generate code to allocate a temporary array. */
tree gfc_trans_allocate_temp_array (stmtblock_t *, stmtblock_t *,
- gfc_loopinfo *, gfc_ss_info *, tree, bool);
+ gfc_loopinfo *, gfc_ss_info *, tree, bool,
+ bool);
/* Generate function entry code for allocation of compiler allocated array
variables. */