From 961e73ace25da06b5909b2b48e64447bea15963d Mon Sep 17 00:00:00 2001 From: Mikael Morin Date: Thu, 3 Nov 2011 22:16:29 +0000 Subject: [PATCH] trans.h (struct gfc_ss, [...]): Move member struct gfc_ss::data::temp into gfc_ss_info::data. * trans.h (struct gfc_ss, struct gfc_ss_info): Move member struct gfc_ss::data::temp into gfc_ss_info::data. * trans-array.c (gfc_get_temp_ss, gfc_conv_loop_setup): Update reference chains. From-SVN: r180872 --- gcc/fortran/ChangeLog | 7 +++++++ gcc/fortran/trans-array.c | 8 ++++---- gcc/fortran/trans.h | 13 +++++++------ 3 files changed, 18 insertions(+), 10 deletions(-) diff --git a/gcc/fortran/ChangeLog b/gcc/fortran/ChangeLog index f10419a6b62..c8d5e7fe8db 100644 --- a/gcc/fortran/ChangeLog +++ b/gcc/fortran/ChangeLog @@ -1,3 +1,10 @@ +2011-11-03 Mikael Morin + + * trans.h (struct gfc_ss, struct gfc_ss_info): Move member struct + gfc_ss::data::temp into gfc_ss_info::data. + * trans-array.c (gfc_get_temp_ss, gfc_conv_loop_setup): Update reference + chains. + 2011-11-03 Mikael Morin * trans.h (struct gfc_ss, struct gfc_ss_info): Move member struct diff --git a/gcc/fortran/trans-array.c b/gcc/fortran/trans-array.c index eef0f097f2a..173e52b299e 100644 --- a/gcc/fortran/trans-array.c +++ b/gcc/fortran/trans-array.c @@ -558,11 +558,11 @@ gfc_get_temp_ss (tree type, tree string_length, int dimen) ss_info = gfc_get_ss_info (); ss_info->type = GFC_SS_TEMP; ss_info->string_length = string_length; + ss_info->data.temp.type = type; ss = gfc_get_ss (); ss->info = ss_info; ss->next = gfc_ss_terminator; - ss->data.temp.type = type; ss->dimen = dimen; for (i = 0; i < ss->dimen; i++) ss->dim[i] = i; @@ -4127,12 +4127,12 @@ gfc_conv_loop_setup (gfc_loopinfo * loop, locus * where) /* Make absolutely sure that this is a complete type. */ if (tmp_ss_info->string_length) - loop->temp_ss->data.temp.type + tmp_ss_info->data.temp.type = gfc_get_character_type_len_for_eltype - (TREE_TYPE (loop->temp_ss->data.temp.type), + (TREE_TYPE (tmp_ss_info->data.temp.type), tmp_ss_info->string_length); - tmp = loop->temp_ss->data.temp.type; + tmp = tmp_ss_info->data.temp.type; memset (&loop->temp_ss->data.info, 0, sizeof (gfc_array_info)); tmp_ss_info->type = GFC_SS_SECTION; diff --git a/gcc/fortran/trans.h b/gcc/fortran/trans.h index 567e5a343f1..60708e937a9 100644 --- a/gcc/fortran/trans.h +++ b/gcc/fortran/trans.h @@ -197,6 +197,13 @@ typedef struct gfc_ss_info tree value; } scalar; + + /* GFC_SS_TEMP. */ + struct + { + tree type; + } + temp; } data; } @@ -219,12 +226,6 @@ typedef struct gfc_ss union { - /* GFC_SS_TEMP. */ - struct - { - tree type; - } - temp; /* All other types. */ gfc_array_info info; }