summaryrefslogtreecommitdiff
path: root/gdb/linespec.c
diff options
context:
space:
mode:
authorAndreas Schwab <schwab@suse.de>2008-05-23 23:39:03 +0000
committerAndreas Schwab <schwab@suse.de>2008-05-23 23:39:03 +0000
commit8312951f1793e76ea4043d86f4999f54c6341026 (patch)
treeddefbf77bf3927910d623c333c8b588ca30d3ee6 /gdb/linespec.c
parentd361052bd27f82dd1b54b3d1678f2f61a88ec86a (diff)
downloadgdb-8312951f1793e76ea4043d86f4999f54c6341026.tar.gz
* linespec.c (decode_objc): Save current language around call to
get_selected_block.
Diffstat (limited to 'gdb/linespec.c')
-rw-r--r--gdb/linespec.c12
1 files changed, 10 insertions, 2 deletions
diff --git a/gdb/linespec.c b/gdb/linespec.c
index 6386834ec0d..953e726bed5 100644
--- a/gdb/linespec.c
+++ b/gdb/linespec.c
@@ -1116,8 +1116,16 @@ decode_objc (char **argptr, int funfirstline, struct symtab *file_symtab,
if (file_symtab != NULL)
block = BLOCKVECTOR_BLOCK (BLOCKVECTOR (file_symtab), STATIC_BLOCK);
else
- block = get_selected_block (0);
-
+ {
+ 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);
+ }
+
copy = find_imps (file_symtab, block, *argptr, NULL, &i1, &i2);
if (i1 > 0)