aboutsummaryrefslogtreecommitdiff
path: root/gcc/fortran/symbol.c
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/fortran/symbol.c')
-rw-r--r--gcc/fortran/symbol.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/gcc/fortran/symbol.c b/gcc/fortran/symbol.c
index 4b6c6e4..c125865 100644
--- a/gcc/fortran/symbol.c
+++ b/gcc/fortran/symbol.c
@@ -25,6 +25,7 @@ Software Foundation, 59 Temple Place - Suite 330, Boston, MA
#include <string.h>
#include <stdio.h>
#include <stdlib.h>
+#include <assert.h>
#include "gfortran.h"
#include "parse.h"
@@ -1614,6 +1615,8 @@ gfc_get_namespace (gfc_namespace * parent)
}
}
+ ns->refs = 1;
+
return ns;
}
@@ -2228,6 +2231,11 @@ gfc_free_namespace (gfc_namespace * ns)
if (ns == NULL)
return;
+ ns->refs--;
+ if (ns->refs > 0)
+ return;
+ assert (ns->refs == 0);
+
gfc_free_statements (ns->code);
free_sym_tree (ns->sym_root);