diff options
Diffstat (limited to 'gdb/symmisc.c')
-rw-r--r-- | gdb/symmisc.c | 20 |
1 files changed, 18 insertions, 2 deletions
diff --git a/gdb/symmisc.c b/gdb/symmisc.c index 0d103b6..f440899 100644 --- a/gdb/symmisc.c +++ b/gdb/symmisc.c @@ -440,8 +440,8 @@ dump_psymtab (struct objfile *objfile, struct partial_symtab *psymtab, } static void -dump_symtab (struct objfile *objfile, struct symtab *symtab, - struct ui_file *outfile) +dump_symtab_1 (struct objfile *objfile, struct symtab *symtab, + struct ui_file *outfile) { int i; struct dict_iterator iter; @@ -533,6 +533,22 @@ dump_symtab (struct objfile *objfile, struct symtab *symtab, } } +static void +dump_symtab (struct objfile *objfile, struct symtab *symtab, + struct ui_file *outfile) +{ + enum language saved_lang; + + /* Set the current language to the language of the symtab we're dumping + because certain routines used during dump_symtab() use the current + language to print an image of the symbol. We'll restore it later. */ + saved_lang = set_language (symtab->language); + + dump_symtab_1 (objfile, symtab, outfile); + + set_language (saved_lang); +} + void maintenance_print_symbols (char *args, int from_tty) { |