diff options
author | Janus Weil <janus@gcc.gnu.org> | 2008-06-08 13:55:41 +0200 |
---|---|---|
committer | Janus Weil <janus@gcc.gnu.org> | 2008-06-08 13:55:41 +0200 |
commit | c1db9545dd92301f1ed321287b2363cf7d375fa3 (patch) | |
tree | 173371c70f3cd7f0252eda565f2d2a3e8cb6a5db /gcc/fortran/decl.c | |
parent | 2d9bbb6b6d1762039c0436b8ed42a3c29ce4c7d2 (diff) | |
download | gcc-c1db9545dd92301f1ed321287b2363cf7d375fa3.zip gcc-c1db9545dd92301f1ed321287b2363cf7d375fa3.tar.gz gcc-c1db9545dd92301f1ed321287b2363cf7d375fa3.tar.bz2 |
re PR fortran/36459 (Wrong interface use for PROCEDURE)
2008-06-08 Janus Weil <janus@gcc.gnu.org>
PR fortran/36459
* decl.c (match_procedure_decl): Correctly recognize if the interface
is an intrinsic procedure.
2008-06-08 Janus Weil <janus@gcc.gnu.org>
PR fortran/36459
* gfortran.dg/proc_decl_16.f90: New.
From-SVN: r136555
Diffstat (limited to 'gcc/fortran/decl.c')
-rw-r--r-- | gcc/fortran/decl.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/gcc/fortran/decl.c b/gcc/fortran/decl.c index ea87c21..c4ef7e7 100644 --- a/gcc/fortran/decl.c +++ b/gcc/fortran/decl.c @@ -4085,8 +4085,10 @@ match_procedure_decl (void) return MATCH_ERROR; } /* Handle intrinsic procedures. */ - if (gfc_intrinsic_name (proc_if->name, 0) - || gfc_intrinsic_name (proc_if->name, 1)) + if (!(proc_if->attr.external || proc_if->attr.use_assoc + || proc_if->attr.if_source == IFSRC_IFBODY) + && (gfc_intrinsic_name (proc_if->name, 0) + || gfc_intrinsic_name (proc_if->name, 1))) proc_if->attr.intrinsic = 1; if (proc_if->attr.intrinsic && !gfc_intrinsic_actual_ok (proc_if->name, 0)) |