diff options
author | Thomas Koenig <tkoenig@gcc.gnu.org> | 2019-07-29 17:45:24 +0000 |
---|---|---|
committer | Thomas Koenig <tkoenig@gcc.gnu.org> | 2019-07-29 17:45:24 +0000 |
commit | 5c6aa9a8919cbf0dcf3c375f51012720bfb5f3a1 (patch) | |
tree | cd61bcbec9ac2df1a286648ec164ee57268d04c9 /gcc/fortran/parse.c | |
parent | 937337890108676b3588d77bd704927d349db71b (diff) | |
download | gcc-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.c | 7 |
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; |