aboutsummaryrefslogtreecommitdiff
path: root/gcc/fortran/trans-array.c
diff options
context:
space:
mode:
authorMikael Morin <mikael@gcc.gnu.org>2011-11-03 21:28:26 +0000
committerMikael Morin <mikael@gcc.gnu.org>2011-11-03 21:28:26 +0000
commitf44d2277117c668c073ffde7732977699a221ceb (patch)
tree97fce364c6958438d4ec9bd82dbc376758edf3d1 /gcc/fortran/trans-array.c
parent14bf3267a653e835acc208a30142cf6b2f9e2a09 (diff)
downloadgcc-f44d2277117c668c073ffde7732977699a221ceb.zip
gcc-f44d2277117c668c073ffde7732977699a221ceb.tar.gz
gcc-f44d2277117c668c073ffde7732977699a221ceb.tar.bz2
trans-array.h (gfc_trans_create_temp_array): Replace info argument with ss argument.
* trans-array.h (gfc_trans_create_temp_array): Replace info argument with ss argument. * trans-array.c (gfc_trans_create_temp_array): Ditto. Get info from ss. (gfc_trans_array_constructor, gfc_conv_loop_setup): Update call to gfc_trans_create_temp_array. * trans-expr.c (gfc_conv_procedure_call): Ditto. * trans-intrinsic.c (gfc_conv_intrinsic_transfer): Ditto. * trans-stmt.c (gfc_conv_elemental_dependencies): Ditto. From-SVN: r180859
Diffstat (limited to 'gcc/fortran/trans-array.c')
-rw-r--r--gcc/fortran/trans-array.c9
1 files changed, 6 insertions, 3 deletions
diff --git a/gcc/fortran/trans-array.c b/gcc/fortran/trans-array.c
index d8f5448..0e7c1c1 100644
--- a/gcc/fortran/trans-array.c
+++ b/gcc/fortran/trans-array.c
@@ -838,10 +838,11 @@ get_array_ref_dim (gfc_ss_info *info, int loop_dim)
tree
gfc_trans_create_temp_array (stmtblock_t * pre, stmtblock_t * post,
- gfc_loopinfo * loop, gfc_ss_info * info,
+ gfc_loopinfo * loop, gfc_ss * ss,
tree eltype, tree initial, bool dynamic,
bool dealloc, bool callee_alloc, locus * where)
{
+ gfc_ss_info *info;
tree from[GFC_MAX_DIMENSIONS], to[GFC_MAX_DIMENSIONS];
tree type;
tree desc;
@@ -855,6 +856,8 @@ gfc_trans_create_temp_array (stmtblock_t * pre, stmtblock_t * post,
memset (from, 0, sizeof (from));
memset (to, 0, sizeof (to));
+ info = &ss->data.info;
+
gcc_assert (info->dimen > 0);
gcc_assert (loop->dimen == info->dimen);
@@ -2038,7 +2041,7 @@ gfc_trans_array_constructor (gfc_loopinfo * loop, gfc_ss * ss, locus * where)
if (TREE_CODE (loop->to[0]) == VAR_DECL)
dynamic = true;
- gfc_trans_create_temp_array (&loop->pre, &loop->post, loop, &ss->data.info,
+ gfc_trans_create_temp_array (&loop->pre, &loop->post, loop, ss,
type, NULL_TREE, dynamic, true, false, where);
desc = ss->data.info.descriptor;
@@ -4061,7 +4064,7 @@ gfc_conv_loop_setup (gfc_loopinfo * loop, locus * where)
loop->temp_ss->data.info.dim[n] = n;
gfc_trans_create_temp_array (&loop->pre, &loop->post, loop,
- &loop->temp_ss->data.info, tmp, NULL_TREE,
+ loop->temp_ss, tmp, NULL_TREE,
false, true, false, where);
}