aboutsummaryrefslogtreecommitdiff
path: root/gcc/fortran/parse.c
diff options
context:
space:
mode:
authorThomas Koenig <tkoenig@gcc.gnu.org>2019-07-29 17:45:24 +0000
committerThomas Koenig <tkoenig@gcc.gnu.org>2019-07-29 17:45:24 +0000
commit5c6aa9a8919cbf0dcf3c375f51012720bfb5f3a1 (patch)
treecd61bcbec9ac2df1a286648ec164ee57268d04c9 /gcc/fortran/parse.c
parent937337890108676b3588d77bd704927d349db71b (diff)
downloadgcc-5c6aa9a8919cbf0dcf3c375f51012720bfb5f3a1.zip
gcc-5c6aa9a8919cbf0dcf3c375f51012720bfb5f3a1.tar.gz
gcc-5c6aa9a8919cbf0dcf3c375f51012720bfb5f3a1.tar.bz2
re PR fortran/90813 (gfortran.dg/proc_ptr_51.f90 fails (SIGSEGV) after 272084)
2019-07-29 Thomas Koenig <tkoenig@gcc.gnu.org> PR fortran/90813 * dump-parse-tree.c (show_global_symbol): New function. (gfc_dump_global_symbols): New function. * gfortran.h (gfc_traverse_gsymbol): Add prototype. (gfc_dump_global_symbols): Likewise. * invoke.texi: Document -fdump-fortran-global. * lang.opt: Add -fdump-fortran-global. * parse.c (gfc_parse_file): Handle flag_dump_fortran_global. * symbol.c (gfc_traverse_gsymbol): New function. * trans-decl.c (sym_identifier): New function. (mangled_identifier): New function, doing most of the work of gfc_sym_mangled_identifier. (gfc_sym_mangled_identifier): Use mangled_identifier. Add mangled identifier to global symbol table. (get_proc_pointer_decl): Use backend decl from global identifier if present. From-SVN: r273880
Diffstat (limited to 'gcc/fortran/parse.c')
-rw-r--r--gcc/fortran/parse.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/gcc/fortran/parse.c b/gcc/fortran/parse.c
index 8947299..66d84b4 100644
--- a/gcc/fortran/parse.c
+++ b/gcc/fortran/parse.c
@@ -6366,6 +6366,13 @@ done:
/* Do the translation. */
translate_all_program_units (gfc_global_ns_list);
+ /* Dump the global symbol ist. We only do this here because part
+ of it is generated after mangling the identifiers in
+ trans-decl.c. */
+
+ if (flag_dump_fortran_global)
+ gfc_dump_global_symbols (stdout);
+
gfc_end_source_files ();
return true;