diff options
author | burnus <burnus@138bc75d-0d04-0410-961f-82ee72b054a4> | 2014-02-18 22:09:39 +0000 |
---|---|---|
committer | burnus <burnus@138bc75d-0d04-0410-961f-82ee72b054a4> | 2014-02-18 22:09:39 +0000 |
commit | 77d080ca8ed176e583ae78645397be0c0c0b4b40 (patch) | |
tree | acc9dd8a0b0f0ec03ea9b2c53b8b46e36c53652d /gcc/fortran/trans-decl.c | |
parent | 46ab8d2c3e6c9524aad65bc5e22b2aeebca9ec4c (diff) | |
download | gcc-77d080ca8ed176e583ae78645397be0c0c0b4b40.tar.gz |
2014-02-18 Tobias Burnus <burnus@net-b.de>
PR fortran/49397
* expr.c (gfc_check_pointer_assign): Add check for
F2008Cor2, C729.
* trans-decl.c (gfc_get_symbol_decl): Correctly generate
* external
decl in a corner case.
2014-02-18 Tobias Burnus <burnus@net-b.de>
PR fortran/49397
* gfortran.dg/proc_ptr_45.f90: New.
* gfortran.dg/proc_ptr_46.f90: New.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@207854 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/fortran/trans-decl.c')
-rw-r--r-- | gcc/fortran/trans-decl.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/gcc/fortran/trans-decl.c b/gcc/fortran/trans-decl.c index 9c86653e22e..cf7b661d8e9 100644 --- a/gcc/fortran/trans-decl.c +++ b/gcc/fortran/trans-decl.c @@ -1362,9 +1362,10 @@ gfc_get_symbol_decl (gfc_symbol * sym) if (sym->attr.flavor == FL_PROCEDURE) { - /* Catch function declarations. Only used for actual parameters, + /* Catch functions. Only used for actual parameters, procedure pointers and procptr initialization targets. */ - if (sym->attr.external || sym->attr.use_assoc || sym->attr.intrinsic) + if (sym->attr.use_assoc || sym->attr.intrinsic + || sym->attr.if_source != IFSRC_DECL) { decl = gfc_get_extern_function_decl (sym); gfc_set_decl_location (decl, &sym->declared_at); |