diff options
Diffstat (limited to 'gdb')
-rw-r--r-- | gdb/language.c | 4 | ||||
-rw-r--r-- | gdb/testsuite/gdb.base/langs.exp | 6 |
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 |