+2011-08-30 Steven G. Kargl <kargl@gcc.gnu.org>
+
+ PR fortran/45170
+ * trans-stmt.c (gfc_trans_allocate): Evaluate the substring.
+
2011-08-29 Janus Weil <janus@gcc.gnu.org>
PR fortran/50225
|| code->expr3->expr_type == EXPR_CONSTANT)
{
gfc_conv_expr (&se_sz, code->expr3);
+ gfc_add_block_to_block (&se.pre, &se_sz.pre);
+ se_sz.string_length
+ = gfc_evaluate_now (se_sz.string_length, &se.pre);
+ gfc_add_block_to_block (&se.pre, &se_sz.post);
memsz = se_sz.string_length;
}
else if (code->expr3->mold
+2011-08-30 Steven G. Kargl <kargl@gcc.gnu.org>
+
+ PR fortran/45170
+ * gfortran.dg/allocate_with_source_2.f90: New test
+
2011-08-30 Jason Merrill <jason@redhat.com>
PR c++/50220
--- /dev/null
+! { dg-do run }
+! PR 45170
+! A variation of a theme for deferred type parameters. The
+! substring reference in the source= portion of the allocate
+! was not probably resolved. Testcase is a modified version
+! of a program due to Hans-Werner Boschmann <boschmann at tp1
+! dot physik dot uni-siegen dot de>
+!
+program helloworld
+ character(:),allocatable::string
+ real::rnd
+ call hello(5, string)
+ if (string /= 'hello' .or. len(string) /= 5) call abort
+contains
+ subroutine hello (n,string)
+ character(:),allocatable,intent(out)::string
+ integer,intent(in)::n
+ character(20)::helloworld="hello world"
+ allocate(string, source=helloworld(:n))
+ end subroutine hello
+end program helloworld