aboutsummaryrefslogtreecommitdiff
path: root/gcc/fortran/symbol.c
diff options
context:
space:
mode:
authorJerry DeLisle <jvdelisle@gcc.gnu.org>2018-03-25 03:47:28 +0000
committerJerry DeLisle <jvdelisle@gcc.gnu.org>2018-03-25 03:47:28 +0000
commit8954606d17ebf8b6f26e856a9def11a4c674cb1b (patch)
treee2427cebad4c4ef6918a10f4f2bce9d25fcd62f7 /gcc/fortran/symbol.c
parent017c243dff144d1f0b2e93d999bc5d7bb763bd27 (diff)
downloadgcc-8954606d17ebf8b6f26e856a9def11a4c674cb1b.zip
gcc-8954606d17ebf8b6f26e856a9def11a4c674cb1b.tar.gz
gcc-8954606d17ebf8b6f26e856a9def11a4c674cb1b.tar.bz2
re PR fortran/69497 (ICE in gfc_free_namespace, at fortran/symbol.c:3701)
2018-03-24 Jerry DeLisle <jvdelisle@gcc.gnu.org> Dominique d'Humieres <dominiq@gcc.gnu.org> PR fortran/89497 * symbol.c (gfc_free_namespace): Delete the assert and only if refs count is equals zero, free the namespace. Otherwise, something is halfway and other errors will resound. * gfortran.dg/pr89497.f90: New test. Co-Authored-By: Dominique d'Humieres <dominiq@gcc.gnu.org> From-SVN: r258839
Diffstat (limited to 'gcc/fortran/symbol.c')
-rw-r--r--gcc/fortran/symbol.c5
1 files changed, 2 insertions, 3 deletions
diff --git a/gcc/fortran/symbol.c b/gcc/fortran/symbol.c
index ce6b1e9..997d90b 100644
--- a/gcc/fortran/symbol.c
+++ b/gcc/fortran/symbol.c
@@ -4037,10 +4037,9 @@ gfc_free_namespace (gfc_namespace *ns)
return;
ns->refs--;
- if (ns->refs > 0)
- return;
- gcc_assert (ns->refs == 0);
+ if (ns->refs != 0)
+ return;
gfc_free_statements (ns->code);