------- Comment #1 from fxcoudert at gcc dot gnu dot org 2007-07-31 20:41 ------- Minimal reproducer (at -O1, without -fdefault-integer-8):
subroutine r (*) integer(kind=8) :: i return i end Mismatch type, fixed by: Index: trans-stmt.c =================================================================== --- trans-stmt.c (revision 127059) +++ trans-stmt.c (working copy) @@ -447,7 +447,8 @@ gfc_trans_return (gfc_code * code ATTRIB gfc_conv_expr (&se, code->expr); - tmp = build2 (MODIFY_EXPR, TREE_TYPE (result), result, se.expr); + tmp = build2 (MODIFY_EXPR, TREE_TYPE (result), result, + fold_convert (TREE_TYPE (result), se.expr)); gfc_add_expr_to_block (&se.pre, tmp); tmp = build1_v (GOTO_EXPR, gfc_get_return_label ()); -- fxcoudert at gcc dot gnu dot org changed: What |Removed |Added ---------------------------------------------------------------------------- AssignedTo|unassigned at gcc dot gnu |fxcoudert at gcc dot gnu dot |dot org |org Status|UNCONFIRMED |ASSIGNED Ever Confirmed|0 |1 Keywords| |patch Last reconfirmed|0000-00-00 00:00:00 |2007-07-31 20:41:02 date| | http://gcc.gnu.org/bugzilla/show_bug.cgi?id=32938