aboutsummaryrefslogtreecommitdiff
path: root/gdb/mi/mi-main.c
diff options
context:
space:
mode:
authorTom Tromey <tom@tromey.com>2017-04-26 22:41:30 -0600
committerTom Tromey <tom@tromey.com>2017-08-03 07:58:58 -0600
commite3ad2841b1c75837a901618651fed23013643e3f (patch)
tree8bd5273ccd8abe8528e2b280ab67992bfa61ad28 /gdb/mi/mi-main.c
parentb80cf838447322778f04059a1f58b78ffbbeb597 (diff)
downloadgdb-e3ad2841b1c75837a901618651fed23013643e3f.zip
gdb-e3ad2841b1c75837a901618651fed23013643e3f.tar.gz
gdb-e3ad2841b1c75837a901618651fed23013643e3f.tar.bz2
Remove make_cleanup_restore_current_language
This patch replaces make_cleanup_restore_current_language with an RAII class that saves the current language, and restores it when the object is destroyed. ChangeLog 2017-08-03 Tom Tromey <tom@tromey.com> * utils.h (make_cleanup_restore_current_language): Remove. * utils.c (do_restore_current_language) (make_cleanup_restore_current_language): Remove. * parse.c (parse_exp_in_context_1) (parse_expression_with_language): Use scoped_restore_current_language. * mi/mi-main.c (mi_cmd_execute): Use scoped_restore_current_language. * language.h (scoped_restore_current_language): New class.
Diffstat (limited to 'gdb/mi/mi-main.c')
-rw-r--r--gdb/mi/mi-main.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/gdb/mi/mi-main.c b/gdb/mi/mi-main.c
index 53289bb..a4c6ec9 100644
--- a/gdb/mi/mi-main.c
+++ b/gdb/mi/mi-main.c
@@ -2243,9 +2243,10 @@ mi_cmd_execute (struct mi_parse *parse)
error (_("Invalid frame id: %d"), frame);
}
+ gdb::optional<scoped_restore_current_language> lang_saver;
if (parse->language != language_unknown)
{
- make_cleanup_restore_current_language ();
+ lang_saver.emplace ();
set_language (parse->language);
}