summaryrefslogtreecommitdiff
path: root/gcc/fortran/trans.h
diff options
context:
space:
mode:
authorvehre <vehre@138bc75d-0d04-0410-961f-82ee72b054a4>2015-10-25 12:28:57 +0000
committervehre <vehre@138bc75d-0d04-0410-961f-82ee72b054a4>2015-10-25 12:28:57 +0000
commit9ab3dd730f324bc406f2473951a56682294f998f (patch)
tree2bf4d8a03141715e2374e096c4386e41791de20e /gcc/fortran/trans.h
parent7efdc3d7ce334a0c64e9dec89879a5651590bfa9 (diff)
downloadgcc-9ab3dd730f324bc406f2473951a56682294f998f.tar.gz
gcc/fortran/ChangeLog:
2015-10-25 Andre Vehreschild <vehre@gcc.gnu.org> PR fortran/66927 PR fortran/67044 * trans-array.c (build_array_ref): Modified call to gfc_get_class_array_ref to adhere to new interface. (gfc_conv_expr_descriptor): For one-based arrays that are filled by a loop starting at one the start index of the source array has to be mangled into the offset. * trans-expr.c (gfc_get_class_array_ref): When the tree to get the _data component is present already, add a way to supply it. (gfc_copy_class_to_class): Allow to copy to a derived type also. * trans-stmt.c (gfc_trans_allocate): Do not conv_expr_descriptor for functions returning a class or derived object. Get the reference instead. * trans.h: Interface change of gfc_get_class_array_ref. gcc/testsuite/ChangeLog: 2015-10-25 Andre Vehreschild <vehre@gmx.de> PR fortran/66927 PR fortran/67044 * gfortran.dg/allocate_with_source_10.f08: New test. * gfortran.dg/allocate_with_source_11.f08: New test. * gfortran.dg/class_array_15.f03: Changed count of expected _builtin_frees to 11. One step of temporaries is spared, therefore the allocatable component of that temporary is not to be freeed. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@229294 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/fortran/trans.h')
-rw-r--r--gcc/fortran/trans.h2
1 files changed, 1 insertions, 1 deletions
diff --git a/gcc/fortran/trans.h b/gcc/fortran/trans.h
index 25014035d95..3a23a3cc259 100644
--- a/gcc/fortran/trans.h
+++ b/gcc/fortran/trans.h
@@ -378,7 +378,7 @@ tree gfc_vptr_final_get (tree);
void gfc_reset_vptr (stmtblock_t *, gfc_expr *);
void gfc_reset_len (stmtblock_t *, gfc_expr *);
tree gfc_get_vptr_from_expr (tree);
-tree gfc_get_class_array_ref (tree, tree);
+tree gfc_get_class_array_ref (tree, tree, tree);
tree gfc_copy_class_to_class (tree, tree, tree, bool);
bool gfc_add_finalizer_call (stmtblock_t *, gfc_expr *);
bool gfc_add_comp_finalizer_call (stmtblock_t *, tree, gfc_component *, bool);