[Bug fortran/55072] [4.6/4.7/4.8 Regression] Missing internal_pack leads to wrong code with derived type
janus at gcc dot gnu.org
gcc-bugzilla@gcc.gnu.org
Sat Dec 15 11:00:00 GMT 2012
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55072
--- Comment #9 from janus at gcc dot gnu.org 2012-12-15 11:00:09 UTC ---
(In reply to comment #7)
> The following patch (which amounts to a partial revert of r156749) fixes the
> behavior of comment #2 for me:
Ugh. Apparently it was much too late last night, when I accidentally re-posted
the patch of comment #1 instead of the one I actually wanted to post:
Index: gcc/fortran/trans-array.c
===================================================================
--- gcc/fortran/trans-array.c (revision 194387)
+++ gcc/fortran/trans-array.c (working copy)
@@ -7002,13 +7002,6 @@ gfc_conv_array_parameter (gfc_se * se, gfc_expr *
if (sym->ts.type == BT_CHARACTER)
se->string_length = sym->ts.u.cl->backend_decl;
- if (sym->ts.type == BT_DERIVED || sym->ts.type == BT_CLASS)
- {
- gfc_conv_expr_descriptor (se, expr);
- se->expr = gfc_conv_array_data (se->expr);
- return;
- }
-
if (!sym->attr.pointer
&& sym->as
&& sym->as->type != AS_ASSUMED_SHAPE
This is the patch that both comment 7 and comment 8 refer to.
More information about the Gcc-bugs
mailing list