From 5ff0f237a4e33e38c09e3e7242e5a7fd9c588793 Mon Sep 17 00:00:00 2001 From: Richard Biener Date: Mon, 11 Aug 2014 07:49:30 +0000 Subject: [PATCH] re PR fortran/61950 (Many 64-bit fortran allocate tests FAIL) 2014-08-11 Richard Biener PR fortran/61950 * trans-expr.c (gfc_conv_structure): Initialize _size with a value of proper type. From-SVN: r213809 --- gcc/fortran/ChangeLog | 6 ++++++ gcc/fortran/trans-expr.c | 4 +++- 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/gcc/fortran/ChangeLog b/gcc/fortran/ChangeLog index 4abb16eeaa89..16c07bd79ca6 100644 --- a/gcc/fortran/ChangeLog +++ b/gcc/fortran/ChangeLog @@ -1,3 +1,9 @@ +2014-08-11 Richard Biener + + PR fortran/61950 + * trans-expr.c (gfc_conv_structure): Initialize _size with + a value of proper type. + 2014-08-10 Thomas Koenig PR fortran/61999 diff --git a/gcc/fortran/trans-expr.c b/gcc/fortran/trans-expr.c index 02cec973c1a4..1726d0f033e0 100644 --- a/gcc/fortran/trans-expr.c +++ b/gcc/fortran/trans-expr.c @@ -6260,7 +6260,9 @@ gfc_conv_structure (gfc_se * se, gfc_expr * expr, int init) else if (cm->ts.u.derived && strcmp (cm->name, "_size") == 0) { val = TYPE_SIZE_UNIT (gfc_get_derived_type (cm->ts.u.derived)); - CONSTRUCTOR_APPEND_ELT (v, cm->backend_decl, val); + CONSTRUCTOR_APPEND_ELT (v, cm->backend_decl, + fold_convert (TREE_TYPE (cm->backend_decl), + val)); } else { -- 2.47.3