From 6b6cd722f329a168f98d1f421834cf40bb33a77d Mon Sep 17 00:00:00 2001 From: Tobias Burnus Date: Wed, 1 Feb 2012 20:06:07 +0100 Subject: re PR fortran/52024 ([OOP] GENERIC operator cannot be resolved) 2012-02-01 Tobias Burnus PR fortran/52024 * module.c (MOD_VERSION): Bump. (mio_typebound_proc): Read/write is_operator from/to the .mod file. 2012-02-01 Tobias Burnus PR fortran/52024 * gfortran.dg/typebound_operator_14.f90: New. From-SVN: r183808 --- gcc/fortran/module.c | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) (limited to 'gcc/fortran/module.c') diff --git a/gcc/fortran/module.c b/gcc/fortran/module.c index c68277b..5e0f26e 100644 --- a/gcc/fortran/module.c +++ b/gcc/fortran/module.c @@ -81,7 +81,7 @@ along with GCC; see the file COPYING3. If not see /* Don't put any single quote (') in MOD_VERSION, if yout want it to be recognized. */ -#define MOD_VERSION "8" +#define MOD_VERSION "9" /* Structure that describes a position within a module file. */ @@ -3578,12 +3578,17 @@ mio_typebound_proc (gfc_typebound_proc** proc) if ((*proc)->is_generic) { gfc_tbp_generic* g; + int iop; mio_lparen (); if (iomode == IO_OUTPUT) for (g = (*proc)->u.generic; g; g = g->next) - mio_allocated_string (g->specific_st->name); + { + iop = (int) g->is_operator; + mio_integer (&iop); + mio_allocated_string (g->specific_st->name); + } else { (*proc)->u.generic = NULL; @@ -3594,6 +3599,9 @@ mio_typebound_proc (gfc_typebound_proc** proc) g = gfc_get_tbp_generic (); g->specific = NULL; + mio_integer (&iop); + g->is_operator = (bool) iop; + require_atom (ATOM_STRING); sym_root = ¤t_f2k_derived->tb_sym_root; g->specific_st = gfc_get_tbp_symtree (sym_root, atom_string); -- cgit v1.1