diff options
author | Feng Wang <fengwang@gcc.gnu.org> | 2005-05-15 02:45:29 +0000 |
---|---|---|
committer | Feng Wang <fengwang@gcc.gnu.org> | 2005-05-15 02:45:29 +0000 |
commit | b078dfbf39bdea09e613beb800c8261d57ba4c3b (patch) | |
tree | 561264b5f4c56dabd9ef6b439c86f897e8c47a29 /gcc/fortran/trans-io.c | |
parent | 652ad062339cd338403543e46cf91eb5abbe7d36 (diff) | |
download | gcc-b078dfbf39bdea09e613beb800c8261d57ba4c3b.zip gcc-b078dfbf39bdea09e613beb800c8261d57ba4c3b.tar.gz gcc-b078dfbf39bdea09e613beb800c8261d57ba4c3b.tar.bz2 |
[multiple changes]
2005-05-15 Feng Wang <fengwang@nudt.edu.cn>
Jerry DeLisle <jvdelisle@verizon.net>
PR fortran/17432
* trans-stmt.c (gfc_trans_label_assign): fix pointer type, to
resolve ICE on assign of format label.
* trans-io.c (set_string): add fold-convert to properly
handle assigned format label in write.
2005-05-15 Jerry DeLisle <jvdelisle@verizon.net>
PR fortran/17432
* gfortran.dg/assign_4.f: New test.
From-SVN: r99711
Diffstat (limited to 'gcc/fortran/trans-io.c')
-rw-r--r-- | gcc/fortran/trans-io.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/gcc/fortran/trans-io.c b/gcc/fortran/trans-io.c index 8701d5e..a8f8ce8 100644 --- a/gcc/fortran/trans-io.c +++ b/gcc/fortran/trans-io.c @@ -394,7 +394,8 @@ set_string (stmtblock_t * block, stmtblock_t * postblock, tree var, tmp = build2 (LE_EXPR, boolean_type_node, tmp, convert (TREE_TYPE (tmp), integer_minus_one_node)); gfc_trans_runtime_check (tmp, msg, &se.pre); - gfc_add_modify_expr (&se.pre, io, GFC_DECL_ASSIGN_ADDR (se.expr)); + gfc_add_modify_expr (&se.pre, io, + fold_convert (TREE_TYPE (io), GFC_DECL_ASSIGN_ADDR (se.expr))); gfc_add_modify_expr (&se.pre, len, GFC_DECL_STRING_LEN (se.expr)); } else |