diff options
author | Janus Weil <janus@gcc.gnu.org> | 2008-11-29 14:36:35 +0100 |
---|---|---|
committer | Janus Weil <janus@gcc.gnu.org> | 2008-11-29 14:36:35 +0100 |
commit | f42564392c1f0b92e375ea47484cbd2b596bd28c (patch) | |
tree | 5bc92f6fcdd3ea9d340ebcbae3b5c7aa8e428f94 /gcc/fortran | |
parent | cc95528267653020ce9ceb0ddb24dd501c0264f8 (diff) | |
download | gcc-f42564392c1f0b92e375ea47484cbd2b596bd28c.zip gcc-f42564392c1f0b92e375ea47484cbd2b596bd28c.tar.gz gcc-f42564392c1f0b92e375ea47484cbd2b596bd28c.tar.bz2 |
re PR fortran/38289 ("procedure( ), pointer" rejected)
2008-11-29 Janus Weil <janus@gcc.gnu.org>
Mikael Morin <mikael@gcc.gnu.org>
PR fortran/38289
PR fortran/38290
* decl.c (match_procedure_decl): Handle whitespaces.
* resolve.c (resolve_specific_s0): Bugfix in check for intrinsic
interface.
2008-11-29 Janus Weil <janus@gcc.gnu.org>
Tobias Burnus <burnus@gcc.gnu.org>
PR fortran/38289
PR fortran/38290
* gfortran.dg/proc_decl_1.f90: Extended test case.
Co-Authored-By: Mikael Morin <mikael@gcc.gnu.org>
Co-Authored-By: Tobias Burnus <burnus@gcc.gnu.org>
From-SVN: r142276
Diffstat (limited to 'gcc/fortran')
-rw-r--r-- | gcc/fortran/ChangeLog | 9 | ||||
-rw-r--r-- | gcc/fortran/decl.c | 1 | ||||
-rw-r--r-- | gcc/fortran/resolve.c | 3 |
3 files changed, 12 insertions, 1 deletions
diff --git a/gcc/fortran/ChangeLog b/gcc/fortran/ChangeLog index a01ae8f..834e7d0f0 100644 --- a/gcc/fortran/ChangeLog +++ b/gcc/fortran/ChangeLog @@ -1,3 +1,12 @@ +2008-11-29 Janus Weil <janus@gcc.gnu.org> + Mikael Morin <mikael@gcc.gnu.org> + + PR fortran/38289 + PR fortran/38290 + * decl.c (match_procedure_decl): Handle whitespaces. + * resolve.c (resolve_specific_s0): Bugfix in check for intrinsic + interface. + 2008-11-25 H.J. Lu <hongjiu.lu@intel.com> * module.c (gfc_dump_module): Report error on unlink only if diff --git a/gcc/fortran/decl.c b/gcc/fortran/decl.c index dabbafa..14ccb60 100644 --- a/gcc/fortran/decl.c +++ b/gcc/fortran/decl.c @@ -4094,6 +4094,7 @@ match_procedure_decl (void) /* Get the type spec. for the procedure interface. */ old_loc = gfc_current_locus; m = gfc_match_type_spec (¤t_ts, 0); + gfc_gobble_whitespace (); if (m == MATCH_YES || (m == MATCH_NO && gfc_peek_ascii_char () == ')')) goto got_ts; diff --git a/gcc/fortran/resolve.c b/gcc/fortran/resolve.c index f1c27e6..59e9e54 100644 --- a/gcc/fortran/resolve.c +++ b/gcc/fortran/resolve.c @@ -2748,7 +2748,8 @@ resolve_specific_s0 (gfc_code *c, gfc_symbol *sym) /* See if we have an intrinsic interface. */ if (sym->ts.interface != NULL && !sym->ts.interface->attr.abstract - && !sym->ts.interface->attr.subroutine) + && !sym->ts.interface->attr.subroutine + && sym->ts.interface->attr.intrinsic) { gfc_intrinsic_sym *isym; |