diff --git a/gcc/fortran/ChangeLog b/gcc/fortran/ChangeLog index d1f354e13c6011859cd5aa38c3902dc67b9accf6..215c3215397ce12f20f0bc3ca2bf5f7b07ff6874 100644 --- a/gcc/fortran/ChangeLog +++ b/gcc/fortran/ChangeLog @@ -1,3 +1,8 @@ +2011-07-18 Tobias Burnus <burnus@net-b.de> + + * resolve.c (resolve_transfer): Mention defined I/O + in the diagnostic for alloc_comp/pointer_comp. + 2011-07-17 Tobias Burnus <burnus@net-b.de> PR fortran/34657 diff --git a/gcc/fortran/resolve.c b/gcc/fortran/resolve.c index 07104b85ea4bb118f127d3923d13970ef2c500ed..53f45e85b8da84a52857df27550aa230ab3c7d46 100644 --- a/gcc/fortran/resolve.c +++ b/gcc/fortran/resolve.c @@ -5219,7 +5219,7 @@ check_host_association (gfc_expr *e) { /* Original was variable so convert array references into an actual arglist. This does not need any checking now - since gfc_resolve_function will take care of it. */ + since resolve_function will take care of it. */ e->value.function.actual = NULL; e->expr_type = EXPR_FUNCTION; e->symtree = st; @@ -8139,8 +8139,9 @@ resolve_transfer (gfc_code *code) components. */ if (ts->u.derived->attr.pointer_comp) { - gfc_error ("Data transfer element at %L cannot have " - "POINTER components", &code->loc); + gfc_error ("Data transfer element at %L cannot have POINTER " + "components unless it is processed by a defined " + "input/output procedure", &code->loc); return; } @@ -8154,8 +8155,9 @@ resolve_transfer (gfc_code *code) if (ts->u.derived->attr.alloc_comp) { - gfc_error ("Data transfer element at %L cannot have " - "ALLOCATABLE components", &code->loc); + gfc_error ("Data transfer element at %L cannot have ALLOCATABLE " + "components unless it is processed by a defined " + "input/output procedure", &code->loc); return; }