diff options
author | janus <janus@138bc75d-0d04-0410-961f-82ee72b054a4> | 2011-02-18 12:23:56 +0000 |
---|---|---|
committer | janus <janus@138bc75d-0d04-0410-961f-82ee72b054a4> | 2011-02-18 12:23:56 +0000 |
commit | b839d57907a4d544febbfe397590c669533c3c99 (patch) | |
tree | c6ece472baf6d67524d413ba4f571b00b8b82ba0 /gcc/fortran | |
parent | ce6d059cdbc1d0a7a244cb7ddd058edb0503e6ca (diff) | |
download | gcc-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/ChangeLog | 6 | ||||
-rw-r--r-- | gcc/fortran/resolve.c | 8 |
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 " |