diff options
author | Janus Weil <janus@gcc.gnu.org> | 2011-03-29 11:39:10 +0200 |
---|---|---|
committer | Janus Weil <janus@gcc.gnu.org> | 2011-03-29 11:39:10 +0200 |
commit | d91909c0133554d00379f0ef41fe2d2ff6ab9968 (patch) | |
tree | 5cbc71797224538781afa1e8370fcb01a020856b /gcc/fortran/decl.c | |
parent | 23360fe40929b6f731db12007a7b262e72e5e336 (diff) | |
download | gcc-d91909c0133554d00379f0ef41fe2d2ff6ab9968.zip gcc-d91909c0133554d00379f0ef41fe2d2ff6ab9968.tar.gz gcc-d91909c0133554d00379f0ef41fe2d2ff6ab9968.tar.bz2 |
re PR fortran/48095 ([OOP] Invalid assignment to procedure pointer component not rejected)
2011-03-29 Janus Weil <janus@gcc.gnu.org>
PR fortran/48095
* decl.c (match_procedure_decl,match_ppc_decl): Set flavor of interface.
* module.c (MOD_VERSION): Bump.
(mio_typespec): Read/write 'interface' field.
* primary.c (match_string_constant,match_logical_constant): Remove
unneeded code.
(match_complex_constant): Make sure to clear the typespec.
2011-03-29 Janus Weil <janus@gcc.gnu.org>
PR fortran/48095
* gfortran.dg/module_md5_1.f90: Modified MD5 sum.
* gfortran.dg/proc_ptr_comp_32.f90: New.
From-SVN: r171654
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 8b5f92b..f7a704f 100644 --- a/gcc/fortran/decl.c +++ b/gcc/fortran/decl.c @@ -4737,8 +4737,9 @@ match_procedure_decl (void) return MATCH_ERROR; sym->ts.interface = gfc_new_symbol ("", gfc_current_ns); sym->ts.interface->ts = current_ts; + sym->ts.interface->attr.flavor = FL_PROCEDURE; sym->ts.interface->attr.function = 1; - sym->attr.function = sym->ts.interface->attr.function; + sym->attr.function = 1; sym->attr.if_source = IFSRC_UNKNOWN; } @@ -4871,8 +4872,9 @@ match_ppc_decl (void) c->ts = ts; c->ts.interface = gfc_new_symbol ("", gfc_current_ns); c->ts.interface->ts = ts; + c->ts.interface->attr.flavor = FL_PROCEDURE; c->ts.interface->attr.function = 1; - c->attr.function = c->ts.interface->attr.function; + c->attr.function = 1; c->attr.if_source = IFSRC_UNKNOWN; } |