diff options
author | Janus Weil <janus@gcc.gnu.org> | 2011-02-18 13:23:56 +0100 |
---|---|---|
committer | Janus Weil <janus@gcc.gnu.org> | 2011-02-18 13:23:56 +0100 |
commit | 357f98e5520d628b5acf21b516c8ce5f408a605f (patch) | |
tree | c6ece472baf6d67524d413ba4f571b00b8b82ba0 /gcc/fortran/resolve.c | |
parent | abfea58d53f78e426da355c0618a868056e30592 (diff) | |
download | gcc-357f98e5520d628b5acf21b516c8ce5f408a605f.zip gcc-357f98e5520d628b5acf21b516c8ce5f408a605f.tar.gz gcc-357f98e5520d628b5acf21b516c8ce5f408a605f.tar.bz2 |
re PR fortran/47768 (ICE: printing a derived-type variable with proc-pointer components)
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.
From-SVN: r170271
Diffstat (limited to 'gcc/fortran/resolve.c')
-rw-r--r-- | gcc/fortran/resolve.c | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/gcc/fortran/resolve.c b/gcc/fortran/resolve.c index 1c10243..1fef22b 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 " |