Avoid crash when global symbol table is empty with -fdump-fortran-global.
authorThomas Koenig <tkoenig@gcc.gnu.org>
Sun, 14 Jun 2020 15:37:49 +0000 (17:37 +0200)
committerThomas Koenig <tkoenig@gcc.gnu.org>
Sun, 14 Jun 2020 15:38:31 +0000 (17:38 +0200)
This just avoids a crash with -fdump-fortran-global when the
global symbol table is empty.  This is strictly a developer's
option, no user impact.

gcc/fortran/ChangeLog:

2020-06-14  Thomas Koenig  <tkoenig@gcc.gnu.org>

PR fortran/42122
* dump-parse-tree.c (gfc_dump_global_symbols):  If the symroot is
empty, just output "empty".

gcc/fortran/dump-parse-tree.c

index f32330685e7a3f9e95d9110a4e3b4196641cbc07..f44648879f56fb6ab52222adeb7cc13a035edbfa 100644 (file)
@@ -3595,5 +3595,8 @@ show_global_symbol (gfc_gsymbol *gsym, void *f_data)
 void
 gfc_dump_global_symbols (FILE *f)
 {
-  gfc_traverse_gsymbol (gfc_gsym_root, show_global_symbol, (void *) f);
+  if (gfc_gsym_root == NULL)
+    fprintf (f, "empty\n");
+  else
+    gfc_traverse_gsymbol (gfc_gsym_root, show_global_symbol, (void *) f);
 }