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
This commit is contained in:
parent
a9f7c5705b
commit
c2b27658fe
|
@ -1,3 +1,8 @@
|
||||||
|
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)
|
||||||
/* 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)
|
||||||
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)
|
||||||
{
|
{
|
||||||
|
|
|
@ -1,3 +1,8 @@
|
||||||
|
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,
|
||||||
|
|
|
@ -0,0 +1,7 @@
|
||||||
|
! { 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
|
Loading…
Reference in New Issue