aboutsummaryrefslogtreecommitdiff
path: root/gcc/fortran
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/fortran')
-rw-r--r--gcc/fortran/ChangeLog7
-rw-r--r--gcc/fortran/module.c12
2 files changed, 17 insertions, 2 deletions
diff --git a/gcc/fortran/ChangeLog b/gcc/fortran/ChangeLog
index 2a7cc28..794101b 100644
--- a/gcc/fortran/ChangeLog
+++ b/gcc/fortran/ChangeLog
@@ -1,3 +1,10 @@
+2012-02-01 Tobias Burnus <burnus@net-b.de>
+
+ 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/52059
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 = &current_f2k_derived->tb_sym_root;
g->specific_st = gfc_get_tbp_symtree (sym_root, atom_string);