aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTom Tromey <tom@tromey.com>2019-03-23 09:43:49 -0600
committerTom Tromey <tom@tromey.com>2019-03-23 10:18:15 -0600
commit9bb9b2f9d6d5aa90f579494d8407375a87a9ad0b (patch)
treedecac06af2245024c51a76359d310f13212eaebb
parentc90939d2d08caedf4f777112a1aafa0c69a9d1c1 (diff)
downloadgdb-9bb9b2f9d6d5aa90f579494d8407375a87a9ad0b.zip
gdb-9bb9b2f9d6d5aa90f579494d8407375a87a9ad0b.tar.gz
gdb-9bb9b2f9d6d5aa90f579494d8407375a87a9ad0b.tar.bz2
Use scoped_restore_current_language in two places
I found a couple of spots that manually saved and restored the current language. This patch changes them to use scoped_restore_current_language. Tested by the buildbot. gdb/ChangeLog 2019-03-23 Tom Tromey <tom@tromey.com> * linespec.c (get_current_search_block): Use scoped_restore_current_language. * symmisc.c (dump_symtab): Use scoped_restore_current_language.
-rw-r--r--gdb/ChangeLog6
-rw-r--r--gdb/linespec.c10
-rw-r--r--gdb/symmisc.c8
3 files changed, 10 insertions, 14 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog
index 798bcc4..8088b75 100644
--- a/gdb/ChangeLog
+++ b/gdb/ChangeLog
@@ -1,3 +1,9 @@
+2019-03-23 Tom Tromey <tom@tromey.com>
+
+ * linespec.c (get_current_search_block): Use
+ scoped_restore_current_language.
+ * symmisc.c (dump_symtab): Use scoped_restore_current_language.
+
2019-03-22 Alan Hayward <alan.hayward@arm.com>
Jiong Wang <jiong.wang@arm.com>
diff --git a/gdb/linespec.c b/gdb/linespec.c
index e902b11..8e2ade0 100644
--- a/gdb/linespec.c
+++ b/gdb/linespec.c
@@ -1190,16 +1190,10 @@ iterate_over_all_matching_symtabs
static const struct block *
get_current_search_block (void)
{
- const struct block *block;
- enum language save_language;
-
/* get_selected_block can change the current language when there is
no selected frame yet. */
- save_language = current_language->la_language;
- block = get_selected_block (0);
- set_language (save_language);
-
- return block;
+ scoped_restore_current_language save_language;
+ return get_selected_block (0);
}
/* Iterate over static and global blocks. */
diff --git a/gdb/symmisc.c b/gdb/symmisc.c
index cb0b5a5..3089c99 100644
--- a/gdb/symmisc.c
+++ b/gdb/symmisc.c
@@ -384,13 +384,9 @@ dump_symtab (struct symtab *symtab, struct ui_file *outfile)
if (symtab->language != language_unknown
&& symtab->language != language_auto)
{
- enum language saved_lang;
-
- saved_lang = set_language (symtab->language);
-
+ scoped_restore_current_language save_lang;
+ set_language (symtab->language);
dump_symtab_1 (symtab, outfile);
-
- set_language (saved_lang);
}
else
dump_symtab_1 (symtab, outfile);