From d8155bf5e5816d44cec5ed1e3f929f2b8718ddab Mon Sep 17 00:00:00 2001
From: Tobias Burnus <burnus@net-b.de>
Date: Mon, 18 Jul 2011 08:48:19 +0200
Subject: [PATCH] resolve.c (resolve_transfer): Mention defined I/O in the
 diagnostic for alloc_comp/pointer_comp.

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.

From-SVN: r176386
---
 gcc/fortran/ChangeLog |  5 +++++
 gcc/fortran/resolve.c | 12 +++++++-----
 2 files changed, 12 insertions(+), 5 deletions(-)

diff --git a/gcc/fortran/ChangeLog b/gcc/fortran/ChangeLog
index d1f354e13c60..215c3215397c 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 07104b85ea4b..53f45e85b8da 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;
 	}
 
-- 
GitLab