Commit e323640f by Janus Weil

re PR fortran/50585 (ICE with assumed length character array argument)

2011-10-01  Janus Weil  <janus@gcc.gnu.org>

	PR fortran/50585
	* interface.c (get_expr_storage_size): Check if 'length' component is
	associated.


2011-10-01  Janus Weil  <janus@gcc.gnu.org>

	PR fortran/50585
	* gfortran.dg/assumed_charlen_arg_2.f90: New.

From-SVN: r179413
parent 48843306
2011-10-01 Janus Weil <janus@gcc.gnu.org>
PR fortran/50585
* interface.c (get_expr_storage_size): Check if 'length' component is
associated.
2011-09-29 Janus Weil <janus@gcc.gnu.org> 2011-09-29 Janus Weil <janus@gcc.gnu.org>
PR fortran/50547 PR fortran/50547
......
...@@ -1959,7 +1959,7 @@ get_expr_storage_size (gfc_expr *e) ...@@ -1959,7 +1959,7 @@ get_expr_storage_size (gfc_expr *e)
{ {
/* The string length is the substring length. /* The string length is the substring length.
Set now to full string length. */ Set now to full string length. */
if (ref->u.ss.length == NULL if (!ref->u.ss.length || !ref->u.ss.length->length
|| ref->u.ss.length->length->expr_type != EXPR_CONSTANT) || ref->u.ss.length->length->expr_type != EXPR_CONSTANT)
return 0; return 0;
......
2011-10-01 Janus Weil <janus@gcc.gnu.org>
PR fortran/50585
* gfortran.dg/assumed_charlen_arg_2.f90: New.
2011-09-30 Janis Johnson <janisjo@codesourcery.com> 2011-09-30 Janis Johnson <janisjo@codesourcery.com>
PR c++/44473 PR c++/44473
......
! { dg-do compile }
!
! PR 50585: [4.6/4.7 Regression] ICE with assumed length character array argument
!
! Contributed by Stuart Mentzer <sgm@objexx.com>
SUBROUTINE SUB1( str )
IMPLICIT NONE
CHARACTER(len=*) :: str(2)
CALL SUB2( str(1)(:3) )
END SUBROUTINE
SUBROUTINE SUB2( str )
IMPLICIT NONE
CHARACTER(*) :: str
END SUBROUTINE
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment