diff options
Diffstat (limited to 'gcc/testsuite/gfortran.dg/allocate_char_star_scalar_1.f90')
-rw-r--r-- | gcc/testsuite/gfortran.dg/allocate_char_star_scalar_1.f90 | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/gcc/testsuite/gfortran.dg/allocate_char_star_scalar_1.f90 b/gcc/testsuite/gfortran.dg/allocate_char_star_scalar_1.f90 new file mode 100644 index 000000000..7e6d7d1f0 --- /dev/null +++ b/gcc/testsuite/gfortran.dg/allocate_char_star_scalar_1.f90 @@ -0,0 +1,33 @@ +! { dg-do compile } +! Tests the patch for PR26038 that used to ICE in gfc_trans_allocate +! for the want of a string_length to pass to the library. +! Contributed by hjl@lucon.org && Erik Edelmann <eedelmanncc.gnu.org> +module moo + +contains + + subroutine foo(self) + character(*) :: self + pointer :: self + + nullify(self) + allocate(self) ! Used to ICE here + print *, len(self) + end subroutine + +end module moo + + +program hum + + use moo + + character(5), pointer :: p + character(10), pointer :: q + + call foo(p) + call foo(q) + +end program hum + +! { dg-final { cleanup-modules "moo" } } |