summaryrefslogtreecommitdiff
path: root/gcc/fortran
diff options
context:
space:
mode:
authorjanus <janus@138bc75d-0d04-0410-961f-82ee72b054a4>2011-02-18 12:23:56 +0000
committerjanus <janus@138bc75d-0d04-0410-961f-82ee72b054a4>2011-02-18 12:23:56 +0000
commitb839d57907a4d544febbfe397590c669533c3c99 (patch)
treec6ece472baf6d67524d413ba4f571b00b8b82ba0 /gcc/fortran
parentce6d059cdbc1d0a7a244cb7ddd058edb0503e6ca (diff)
downloadgcc-b839d57907a4d544febbfe397590c669533c3c99.tar.gz
2011-02-18 Janus Weil <janus@gcc.gnu.org>
PR fortran/47768 * resolve.c (resolve_transfer): Reject variables with procedure pointer components. 2011-02-18 Janus Weil <janus@gcc.gnu.org> PR fortran/47768 * gfortran.dg/proc_ptr_comp_30.f90: New. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@170271 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/fortran')
-rw-r--r--gcc/fortran/ChangeLog6
-rw-r--r--gcc/fortran/resolve.c8
2 files changed, 14 insertions, 0 deletions
diff --git a/gcc/fortran/ChangeLog b/gcc/fortran/ChangeLog
index 8d7614ad510..31ed636b646 100644
--- a/gcc/fortran/ChangeLog
+++ b/gcc/fortran/ChangeLog
@@ -1,5 +1,11 @@
2011-02-18 Janus Weil <janus@gcc.gnu.org>
+ PR fortran/47768
+ * resolve.c (resolve_transfer): Reject variables with procedure pointer
+ components.
+
+2011-02-18 Janus Weil <janus@gcc.gnu.org>
+
PR fortran/47767
* gfortran.h (gfc_check_access): Removed prototype.
(gfc_check_symbol_access): Added prototype.
diff --git a/gcc/fortran/resolve.c b/gcc/fortran/resolve.c
index 1c102437864..1fef22b2469 100644
--- a/gcc/fortran/resolve.c
+++ b/gcc/fortran/resolve.c
@@ -8091,6 +8091,14 @@ resolve_transfer (gfc_code *code)
return;
}
+ /* F08:C935. */
+ if (ts->u.derived->attr.proc_pointer_comp)
+ {
+ gfc_error ("Data transfer element at %L cannot have "
+ "procedure pointer components", &code->loc);
+ return;
+ }
+
if (ts->u.derived->attr.alloc_comp)
{
gfc_error ("Data transfer element at %L cannot have "