aboutsummaryrefslogtreecommitdiff
path: root/gcc/fortran
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/fortran')
-rw-r--r--gcc/fortran/ChangeLog5
-rw-r--r--gcc/fortran/resolve.c12
2 files changed, 12 insertions, 5 deletions
diff --git a/gcc/fortran/ChangeLog b/gcc/fortran/ChangeLog
index d1f354e..215c321 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 07104b8..53f45e8 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;
}