Commit c2b27658 by Erik Edelmann Committed by Tobias Schlüter

re PR fortran/22273 (problem to declare a character variable link to an intent(out) object)

2005-10-16  Erik Edelmann  <erik.edelmann@iki.fi>
fortran/
	PR 22273
	* expr.c (check_inquiry): Add "len" to inquiry_function.
testsuite/
	PR fortran/22273
	* gfortran.dg/spec_expr_2.f90: New.

From-SVN: r105460
parent a9f7c570
2005-10-16 Erik Edelmann <erik.edelmann@iki.fi>
PR 22273
* expr.c (check_inquiry): Add "len" to inquiry_function.
2005-10-14 Jakub Jelinek <jakub@redhat.com> 2005-10-14 Jakub Jelinek <jakub@redhat.com>
* primary.c (match_boz_constant): Add missing break after gfc_error. * primary.c (match_boz_constant): Add missing break after gfc_error.
......
...@@ -1355,7 +1355,7 @@ check_inquiry (gfc_expr * e) ...@@ -1355,7 +1355,7 @@ check_inquiry (gfc_expr * e)
/* FIXME: This should be moved into the intrinsic definitions, /* FIXME: This should be moved into the intrinsic definitions,
to eliminate this ugly hack. */ to eliminate this ugly hack. */
static const char * const inquiry_function[] = { static const char * const inquiry_function[] = {
"digits", "epsilon", "huge", "kind", "maxexponent", "minexponent", "digits", "epsilon", "huge", "kind", "len", "maxexponent", "minexponent",
"precision", "radix", "range", "tiny", "bit_size", "size", "shape", "precision", "radix", "range", "tiny", "bit_size", "size", "shape",
"lbound", "ubound", NULL "lbound", "ubound", NULL
}; };
...@@ -1376,10 +1376,9 @@ check_inquiry (gfc_expr * e) ...@@ -1376,10 +1376,9 @@ check_inquiry (gfc_expr * e)
if (e == NULL || e->expr_type != EXPR_VARIABLE) if (e == NULL || e->expr_type != EXPR_VARIABLE)
return FAILURE; return FAILURE;
/* At this point we have a numeric inquiry function with a variable /* At this point we have an inquiry function with a variable argument. The
argument. The type of the variable might be undefined, but we type of the variable might be undefined, but we need it now, because the
need it now, because the arguments of these functions are allowed arguments of these functions are allowed to be undefined. */
to be undefined. */
if (e->ts.type == BT_UNKNOWN) if (e->ts.type == BT_UNKNOWN)
{ {
......
2005-10-16 Erik Edelmann <erik.edelmann@iki.fi>
PR fortran/22273
* gfortran.dg/spec_expr_2.f90: New.
2005-10-16 Hans-Peter Nilsson <hp@axis.com> 2005-10-16 Hans-Peter Nilsson <hp@axis.com>
* g++.dg/debug/debug3.C, g++.dg/ext/visibility/noPLT.C, * g++.dg/debug/debug3.C, g++.dg/ext/visibility/noPLT.C,
! { dg-do compile }
! PR 22273: Allow INTENT(OUT) dummy:s as arguments to LEN() in specification
! expr:s
subroutine lecligne (ligne)
character(len=*), intent(out) :: ligne
character(len=len(ligne)) :: comment
end subroutine lecligne
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