aboutsummaryrefslogtreecommitdiff
path: root/gcc/fortran/trans-expr.c
diff options
context:
space:
mode:
authorPaul Thomas <pault@gcc.gnu.org>2008-12-14 16:00:25 +0000
committerPaul Thomas <pault@gcc.gnu.org>2008-12-14 16:00:25 +0000
commit18dd272dfd6b077c005f4e1a0a6cb4ffa906bed4 (patch)
tree368ee8ba6269adb05f34e2599d8d989efed3ba4e /gcc/fortran/trans-expr.c
parent73793745269e8334807a606ea4d011215209ce0c (diff)
downloadgcc-18dd272dfd6b077c005f4e1a0a6cb4ffa906bed4.zip
gcc-18dd272dfd6b077c005f4e1a0a6cb4ffa906bed4.tar.gz
gcc-18dd272dfd6b077c005f4e1a0a6cb4ffa906bed4.tar.bz2
re PR fortran/35937 (Wrong type for charlength of function)
2008-12-14 Paul Thomas <pault@gcc.gnu.org> 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 <pault@gcc.gnu.org> PR fortran/35937 * gfortran.dg/char_length_14.f90: New test. From-SVN: r142750
Diffstat (limited to 'gcc/fortran/trans-expr.c')
-rw-r--r--gcc/fortran/trans-expr.c2
1 files changed, 1 insertions, 1 deletions
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);