aboutsummaryrefslogtreecommitdiff
path: root/gdb
diff options
context:
space:
mode:
Diffstat (limited to 'gdb')
-rw-r--r--gdb/language.c4
-rw-r--r--gdb/testsuite/gdb.base/langs.exp6
2 files changed, 8 insertions, 2 deletions
diff --git a/gdb/language.c b/gdb/language.c
index 0d1e384..45ce2eb 100644
--- a/gdb/language.c
+++ b/gdb/language.c
@@ -825,8 +825,8 @@ public:
int parser (struct parser_state *ps) const override
{
- /* No parsing is done, just claim success. */
- return 1;
+ error (_("expression parsing not implemented for language \"%s\""),
+ natural_name ());
}
/* See language.h. */
diff --git a/gdb/testsuite/gdb.base/langs.exp b/gdb/testsuite/gdb.base/langs.exp
index 15908b0..631401a 100644
--- a/gdb/testsuite/gdb.base/langs.exp
+++ b/gdb/testsuite/gdb.base/langs.exp
@@ -111,6 +111,12 @@ if [runto csub] then {
"set lang to minimal"
gdb_test "print x" " = 5000" "print parameter value"
+
+ # Ensure this at least does not crash.
+ gdb_test_no_output "set language unknown"
+ gdb_test "print x" \
+ "expression parsing not implemented for language .Unknown." \
+ "expression parsing does not crash for unknown"
}
set timeout $oldtimeout