From 167f281ea66916a195bc4b7072714a305b0a123c Mon Sep 17 00:00:00 2001 From: Michael Matz Date: Thu, 20 Aug 2009 14:25:36 +0000 Subject: [PATCH] trans-expr.c (gfc_conv_string_tmp): Check type compatibility instead of equality. fortran/ * trans-expr.c (gfc_conv_string_tmp): Check type compatibility instead of equality. testsuite/ * gfortran.dg/pr41126.f90: New test. From-SVN: r150964 --- gcc/fortran/ChangeLog | 6 ++++++ gcc/fortran/trans-expr.c | 2 +- gcc/testsuite/ChangeLog | 5 +++++ gcc/testsuite/gfortran.dg/pr41126.f90 | 6 ++++++ 4 files changed, 18 insertions(+), 1 deletion(-) create mode 100644 gcc/testsuite/gfortran.dg/pr41126.f90 diff --git a/gcc/fortran/ChangeLog b/gcc/fortran/ChangeLog index 9ba0989..3a8dd03 100644 --- a/gcc/fortran/ChangeLog +++ b/gcc/fortran/ChangeLog @@ -1,3 +1,9 @@ +2009-08-20 Michael Matz + + PR fortran/41126 + * trans-expr.c (gfc_conv_string_tmp): Check type compatibility + instead of equality. + 2009-08-20 Janus Weil PR fortran/41121 diff --git a/gcc/fortran/trans-expr.c b/gcc/fortran/trans-expr.c index 7672f0b..c2c1f0fb 100644 --- a/gcc/fortran/trans-expr.c +++ b/gcc/fortran/trans-expr.c @@ -1104,7 +1104,7 @@ gfc_conv_string_tmp (gfc_se * se, tree type, tree len) tree var; tree tmp; - gcc_assert (TREE_TYPE (len) == gfc_charlen_type_node); + gcc_assert (types_compatible_p (TREE_TYPE (len), gfc_charlen_type_node)); if (gfc_can_put_var_on_stack (len)) { diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index cf6d2e5..d5957e7 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,8 @@ +2009-08-20 Michael Matz + + PR fortran/41126 + * gfortran.dg/pr41126.f90: New test. + 2009-08-20 Eric Botcazou * gnat.dg/dynamic_bound.adb: New test. diff --git a/gcc/testsuite/gfortran.dg/pr41126.f90 b/gcc/testsuite/gfortran.dg/pr41126.f90 new file mode 100644 index 0000000..a43758e --- /dev/null +++ b/gcc/testsuite/gfortran.dg/pr41126.f90 @@ -0,0 +1,6 @@ +! { dg-do compile } +SUBROUTINE write_cputime( checkpoint ) + CHARACTER(LEN=*), INTENT(IN) :: checkpoint + CHARACTER(LEN=LEN_TRIM(checkpoint)+7) :: string1 + string1 = ADJUSTL(string1) +END SUBROUTINE write_cputime -- 2.7.4