From 18dd272dfd6b077c005f4e1a0a6cb4ffa906bed4 Mon Sep 17 00:00:00 2001 From: Paul Thomas Date: Sun, 14 Dec 2008 16:00:25 +0000 Subject: re PR fortran/35937 (Wrong type for charlength of function) 2008-12-14 Paul Thomas PR fortran/35937 * trans-expr.c (gfc_finish_interface_mapping): Fold convert the character length to gfc_charlen_type_node. 2008-12-14 Paul Thomas PR fortran/35937 * gfortran.dg/char_length_14.f90: New test. From-SVN: r142750 --- gcc/fortran/ChangeLog | 6 ++++++ gcc/fortran/trans-expr.c | 2 +- 2 files changed, 7 insertions(+), 1 deletion(-) (limited to 'gcc/fortran') diff --git a/gcc/fortran/ChangeLog b/gcc/fortran/ChangeLog index db1fe42..ad49481 100644 --- a/gcc/fortran/ChangeLog +++ b/gcc/fortran/ChangeLog @@ -1,3 +1,9 @@ +2008-12-14 Paul Thomas + + PR fortran/35937 + * trans-expr.c (gfc_finish_interface_mapping): Fold convert the + character length to gfc_charlen_type_node. + 2008-12-12 Daniel Franke PR fortran/36355 diff --git a/gcc/fortran/trans-expr.c b/gcc/fortran/trans-expr.c index 4ecfa08..4a84234 100644 --- a/gcc/fortran/trans-expr.c +++ b/gcc/fortran/trans-expr.c @@ -1830,7 +1830,7 @@ gfc_finish_interface_mapping (gfc_interface_mapping * mapping, gfc_apply_interface_mapping_to_expr (mapping, expr); gfc_init_se (&se, NULL); gfc_conv_expr (&se, expr); - + se.expr = fold_convert (gfc_charlen_type_node, se.expr); se.expr = gfc_evaluate_now (se.expr, &se.pre); gfc_add_block_to_block (pre, &se.pre); gfc_add_block_to_block (post, &se.post); -- cgit v1.1