From 1ffd4f509324e70d529f7cb1141adbd25ae0ea83 Mon Sep 17 00:00:00 2001 From: Chuck Ries Date: Mon, 7 Dec 2015 20:43:52 +0000 Subject: [PATCH] Allow variable names to be quoted with -var-list-children Allow both '-var-list-children var0' and '-var-list-children "var0"' to be used with the -var-list-children command. GDB MI allows for this and it is necessary if the variable name contains spaces, such as var5.std::_Vector_base, std::allocator >, std::allocator, std::allocator > > >. Differential Revision: http://reviews.llvm.org/D15168 llvm-svn: 254941 --- .../Python/lldbsuite/test/tools/lldb-mi/variable/TestMiVar.py | 3 +++ lldb/tools/lldb-mi/MICmdCmdVar.cpp | 2 +- 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/lldb/packages/Python/lldbsuite/test/tools/lldb-mi/variable/TestMiVar.py b/lldb/packages/Python/lldbsuite/test/tools/lldb-mi/variable/TestMiVar.py index ff968db973ccc..26f3a9c63bdc7 100644 --- a/lldb/packages/Python/lldbsuite/test/tools/lldb-mi/variable/TestMiVar.py +++ b/lldb/packages/Python/lldbsuite/test/tools/lldb-mi/variable/TestMiVar.py @@ -49,6 +49,9 @@ def test_lldbmi_eval(self): self.expect("\^done,status=\"editable\"") self.runCmd("-var-list-children var2") self.expect("\^done,numchild=\"0\",has_more=\"0\"") + # Ensure -var-list-children also works with quotes + self.runCmd("-var-list-children \"var2\"") + self.expect("\^done,numchild=\"0\",has_more=\"0\"") self.runCmd("-data-evaluate-expression \"g_MyVar=30\"") self.expect("\^done,value=\"30\"") self.runCmd("-var-update --all-values var2") diff --git a/lldb/tools/lldb-mi/MICmdCmdVar.cpp b/lldb/tools/lldb-mi/MICmdCmdVar.cpp index 80768d7d5dc09..8e30a2ad0da4d 100644 --- a/lldb/tools/lldb-mi/MICmdCmdVar.cpp +++ b/lldb/tools/lldb-mi/MICmdCmdVar.cpp @@ -945,7 +945,7 @@ bool CMICmdCmdVarListChildren::ParseArgs() { m_setCmdArgs.Add(new CMICmdArgValPrintValues(m_constStrArgPrintValues, false, true)); - m_setCmdArgs.Add(new CMICmdArgValString(m_constStrArgName, true, true)); + m_setCmdArgs.Add(new CMICmdArgValString(m_constStrArgName, true, true, true)); m_setCmdArgs.Add(new CMICmdArgValNumber(m_constStrArgFrom, false, true)); m_setCmdArgs.Add(new CMICmdArgValNumber(m_constStrArgTo, false, true)); return ParseValidateCmdOptions();