diff options
Diffstat (limited to 'lldb/source/Target/Target.cpp')
-rw-r--r-- | lldb/source/Target/Target.cpp | 14 |
1 files changed, 13 insertions, 1 deletions
diff --git a/lldb/source/Target/Target.cpp b/lldb/source/Target/Target.cpp index 385ac74bb1d..23b82e5c36e 100644 --- a/lldb/source/Target/Target.cpp +++ b/lldb/source/Target/Target.cpp @@ -218,7 +218,19 @@ Target::GetREPL (Error &err, lldb::LanguageType language, const char *repl_optio { if (language == eLanguageTypeUnknown) { - return REPLSP(); // must provide a language + std::set<LanguageType> repl_languages; + + Language::GetLanguagesSupportingREPLs(repl_languages); + + if (repl_languages.size() == 1) + { + language = *repl_languages.begin(); + } + else + { + err.SetErrorStringWithFormat("Multiple possible REPL languages. Please specify a language."); + return REPLSP(); // must provide a language + } } REPLMap::iterator pos = m_repl_map.find(language); |