summaryrefslogtreecommitdiff
path: root/gdb/symmisc.c
diff options
context:
space:
mode:
authorEli Zaretskii <eliz@gnu.org>2009-05-23 09:26:06 +0000
committerEli Zaretskii <eliz@gnu.org>2009-05-23 09:26:06 +0000
commitc9450d295464fa7ae68f07e5e9e25a1f61ee2d34 (patch)
treef84cc01da1e487f805891cc64e39ebe96c76263e /gdb/symmisc.c
parent7fcf9c4c3d5b0c5d46d37f1a1f6e8f719829c04e (diff)
downloadgdb-c9450d295464fa7ae68f07e5e9e25a1f61ee2d34.tar.gz
* symmisc.c (dump_symtab): Switch the current language to
the language of the symtab we are dumping only if the symtab's language is neither language_auto nor language_unknown. * coffread.c (coff_symtab_read): Set language_minimal as the language for the "_globals_" pseudo-file.
Diffstat (limited to 'gdb/symmisc.c')
-rw-r--r--gdb/symmisc.c19
1 files changed, 13 insertions, 6 deletions
diff --git a/gdb/symmisc.c b/gdb/symmisc.c
index 2e25c896df3..96fabc3c04c 100644
--- a/gdb/symmisc.c
+++ b/gdb/symmisc.c
@@ -496,16 +496,23 @@ 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);
+ language to print an image of the symbol. We'll restore it later.
+ But use only real languages, not placeholders. */
+ if (symtab->language != language_unknown
+ && symtab->language != language_auto)
+ {
+ enum language saved_lang;
+
+ saved_lang = set_language (symtab->language);
- dump_symtab_1 (objfile, symtab, outfile);
+ dump_symtab_1 (objfile, symtab, outfile);
- set_language (saved_lang);
+ set_language (saved_lang);
+ }
+ else
+ dump_symtab_1 (objfile, symtab, outfile);
}
void