aboutsummaryrefslogtreecommitdiff
path: root/gcc/fortran/trans-array.h
diff options
context:
space:
mode:
authorAndre Vehreschild <vehre@gmx.de>2015-04-27 19:34:11 +0200
committerAndre Vehreschild <vehre@gcc.gnu.org>2015-04-27 19:34:11 +0200
commitfc7d0afb9c70f466189c433962bab41a84765b0f (patch)
tree8a4260da5d8939c246372d739e6e13568877622d /gcc/fortran/trans-array.h
parent16d710b164529c81929bcb8bb55eea1b758b070e (diff)
downloadgcc-fc7d0afb9c70f466189c433962bab41a84765b0f.zip
gcc-fc7d0afb9c70f466189c433962bab41a84765b0f.tar.gz
gcc-fc7d0afb9c70f466189c433962bab41a84765b0f.tar.bz2
re PR fortran/59678 ([F03] Segfault on equalizing variables of a complex derived type)
gcc/fortran 2015-04-27 Andre Vehreschild <vehre@gmx.de> PR fortran/59678 PR fortran/65841 * trans-array.c (duplicate_allocatable): Fixed deep copy of allocatable components, which are liable for copy only, when they are allocated. (gfc_duplicate_allocatable): Add deep-copy code into if component allocated block. Needed interface change for that. (gfc_copy_allocatable_data): Supplying NULL_TREE for code to add into if-block for checking whether a component was allocated. (gfc_duplicate_allocatable_nocopy): Likewise. (structure_alloc_comps): Likewise. * trans-array.h: Likewise. * trans-expr.c (gfc_trans_alloc_subarray_assign): Likewise. * trans-openmp.c (gfc_walk_alloc_comps): Likewise. gcc/testsuite 2015-04-27 Andre Vehreschild <vehre@gmx.de> PR fortran/59678 PR fortran/65841 * gfortran.dg/alloc_comp_deep_copy_1.f03: New test. * gfortran.dg/alloc_comp_deep_copy_2.f03: New test. From-SVN: r222477
Diffstat (limited to 'gcc/fortran/trans-array.h')
-rw-r--r--gcc/fortran/trans-array.h2
1 files changed, 1 insertions, 1 deletions
diff --git a/gcc/fortran/trans-array.h b/gcc/fortran/trans-array.h
index 8544534..76bad2a 100644
--- a/gcc/fortran/trans-array.h
+++ b/gcc/fortran/trans-array.h
@@ -46,7 +46,7 @@ tree gfc_trans_dealloc_allocated (tree, bool, gfc_expr *);
tree gfc_full_array_size (stmtblock_t *, tree, int);
-tree gfc_duplicate_allocatable (tree dest, tree src, tree type, int rank);
+tree gfc_duplicate_allocatable (tree, tree, tree, int, tree);
tree gfc_copy_allocatable_data (tree dest, tree src, tree type, int rank);