[Lldb-commits] [lldb] r277117 - Fix -break-insert not working when using absolute paths (MI)
Hans Wennborg via lldb-commits
lldb-commits at lists.llvm.org
Wed Aug 3 09:06:59 PDT 2016
For LLDB, I think it's up to Greg to decide.
On Tue, Aug 2, 2016 at 10:20 PM, Ilia K <ki.stfu at gmail.com> wrote:
> Hi Hans!
>
> The author of this commit asks me is there a chance to include this changes
> to 3.9 release? I'm not sure about our policy when RC has already been
> tagged.
>
> On Fri, Jul 29, 2016 at 9:01 AM, Ilia K via lldb-commits
> <lldb-commits at lists.llvm.org> wrote:
>>
>> Author: ki.stfu
>> Date: Fri Jul 29 01:01:20 2016
>> New Revision: 277117
>>
>> URL: http://llvm.org/viewvc/llvm-project?rev=277117&view=rev
>> Log:
>> Fix -break-insert not working when using absolute paths (MI)
>>
>> Summary:
>> When trying to parse the -break-insert arguments as a named location, the
>> string parsing was not configured to allow directory paths. This patch adds
>> a constructor to allow the parsing of string as directory path along with
>> the other parameters.
>>
>> This fixes https://llvm.org/bugs/show_bug.cgi?id=28709
>>
>> Patch from malaperle at gmail.com
>> Reviewers: clayborg, ki.stfu
>> Subscribers: lldb-commits, ki.stfu
>> Differential Revision: https://reviews.llvm.org/D22902
>>
>>
>> Modified:
>>
>> lldb/trunk/packages/Python/lldbsuite/test/tools/lldb-mi/breakpoint/TestMiBreak.py
>> lldb/trunk/tools/lldb-mi/MICmdArgValString.cpp
>> lldb/trunk/tools/lldb-mi/MICmdArgValString.h
>> lldb/trunk/tools/lldb-mi/MICmdCmdBreak.cpp
>>
>> Modified:
>> lldb/trunk/packages/Python/lldbsuite/test/tools/lldb-mi/breakpoint/TestMiBreak.py
>> URL:
>> http://llvm.org/viewvc/llvm-project/lldb/trunk/packages/Python/lldbsuite/test/tools/lldb-mi/breakpoint/TestMiBreak.py?rev=277117&r1=277116&r2=277117&view=diff
>>
>> ==============================================================================
>> ---
>> lldb/trunk/packages/Python/lldbsuite/test/tools/lldb-mi/breakpoint/TestMiBreak.py
>> (original)
>> +++
>> lldb/trunk/packages/Python/lldbsuite/test/tools/lldb-mi/breakpoint/TestMiBreak.py
>> Fri Jul 29 01:01:20 2016
>> @@ -155,7 +155,6 @@ class MiBreakTestCase(lldbmi_testcase.Mi
>>
>> @skipIfWindows #llvm.org/pr24452: Get lldb-mi tests working on
>> Windows
>> @skipIfFreeBSD # llvm.org/pr22411: Failure presumably due to known
>> thread races
>> - @unittest2.expectedFailure("-break-insert doesn't work for absolute
>> path")
>> def test_lldbmi_break_insert_file_line_absolute_path(self):
>> """Test that 'lldb-mi --interpreter' works for file:line
>> breakpoints."""
>>
>>
>> Modified: lldb/trunk/tools/lldb-mi/MICmdArgValString.cpp
>> URL:
>> http://llvm.org/viewvc/llvm-project/lldb/trunk/tools/lldb-mi/MICmdArgValString.cpp?rev=277117&r1=277116&r2=277117&view=diff
>>
>> ==============================================================================
>> --- lldb/trunk/tools/lldb-mi/MICmdArgValString.cpp (original)
>> +++ lldb/trunk/tools/lldb-mi/MICmdArgValString.cpp Fri Jul 29 01:01:20
>> 2016
>> @@ -85,6 +85,30 @@ CMICmdArgValString::CMICmdArgValString(c
>> }
>>
>> //++
>> ------------------------------------------------------------------------------------
>> +// Details: CMICmdArgValString constructor.
>> +// Type: Method.
>> +// Args: vrArgName - (R) Argument's name to search by.
>> +// vbMandatory - (R) True = Yes must be present, false =
>> optional argument.
>> +// vbHandleByCmd - (R) True = Command processes *this option,
>> false = not handled.
>> +// vbHandleQuotes - (R) True = Parse a string surrounded by
>> quotes spaces are not delimiters, false = only text up to
>> +// next delimiting space character.
>> +// vbAcceptNumbers - (R) True = Parse a string and accept as a
>> number if number, false = numbers not recognised as
>> +// vbHandleDirPaths - (R) True = Parse a string and accept as a
>> file path if a path, false = file paths are not
>> +// string types.
>> +// Return: None.
>> +// Throws: None.
>> +//--
>> +CMICmdArgValString::CMICmdArgValString(const CMIUtilString &vrArgName,
>> const bool vbMandatory, const bool vbHandleByCmd,
>> + const bool vbHandleQuotes, const bool vbAcceptNumbers,
>> const bool vbHandleDirPaths)
>> + : CMICmdArgValBaseTemplate(vrArgName, vbMandatory, vbHandleByCmd)
>> + , m_bHandleQuotedString(vbHandleQuotes)
>> + , m_bAcceptNumbers(vbAcceptNumbers)
>> + , m_bHandleDirPaths(vbHandleDirPaths)
>> + , m_bHandleAnything(false)
>> +{
>> +}
>> +
>> +//++
>> ------------------------------------------------------------------------------------
>> // Details: CMICmdArgValString destructor.
>> // Type: Overridden.
>> // Args: None.
>>
>> Modified: lldb/trunk/tools/lldb-mi/MICmdArgValString.h
>> URL:
>> http://llvm.org/viewvc/llvm-project/lldb/trunk/tools/lldb-mi/MICmdArgValString.h?rev=277117&r1=277116&r2=277117&view=diff
>>
>> ==============================================================================
>> --- lldb/trunk/tools/lldb-mi/MICmdArgValString.h (original)
>> +++ lldb/trunk/tools/lldb-mi/MICmdArgValString.h Fri Jul 29 01:01:20 2016
>> @@ -32,6 +32,8 @@ class CMICmdArgValString : public CMICmd
>> /* ctor */ CMICmdArgValString(const bool vbHandleQuotes, const bool
>> vbAcceptNumbers, const bool vbHandleDirPaths);
>> /* ctor */ CMICmdArgValString(const CMIUtilString &vrArgName, const
>> bool vbMandatory, const bool vbHandleByCmd,
>> const bool vbHandleQuotes = false,
>> const bool vbAcceptNumbers = false);
>> + /* ctor */ CMICmdArgValString(const CMIUtilString &vrArgName, const
>> bool vbMandatory, const bool vbHandleByCmd,
>> + const bool vbHandleQuotes, const bool
>> vbAcceptNumbers, const bool vbHandleDirPaths);
>> //
>> bool IsStringArg(const CMIUtilString &vrTxt) const;
>>
>>
>> Modified: lldb/trunk/tools/lldb-mi/MICmdCmdBreak.cpp
>> URL:
>> http://llvm.org/viewvc/llvm-project/lldb/trunk/tools/lldb-mi/MICmdCmdBreak.cpp?rev=277117&r1=277116&r2=277117&view=diff
>>
>> ==============================================================================
>> --- lldb/trunk/tools/lldb-mi/MICmdCmdBreak.cpp (original)
>> +++ lldb/trunk/tools/lldb-mi/MICmdCmdBreak.cpp Fri Jul 29 01:01:20 2016
>> @@ -100,7 +100,7 @@ CMICmdCmdBreakInsert::ParseArgs()
>> new CMICmdArgValOptionShort(m_constStrArgNamedInoreCnt, false,
>> true, CMICmdArgValListBase::eArgValType_Number, 1));
>> m_setCmdArgs.Add(new
>> CMICmdArgValOptionShort(m_constStrArgNamedRestrictBrkPtToThreadId, false,
>> true,
>>
>> CMICmdArgValListBase::eArgValType_Number, 1));
>> - m_setCmdArgs.Add(new CMICmdArgValString(m_constStrArgNamedLocation,
>> false, true));
>> + m_setCmdArgs.Add(new CMICmdArgValString(m_constStrArgNamedLocation,
>> false, true, false, false, true));
>> return ParseValidateCmdOptions();
>> }
>>
>>
>>
>> _______________________________________________
>> lldb-commits mailing list
>> lldb-commits at lists.llvm.org
>> http://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits
>
>
> --
> - Ilia
More information about the lldb-commits
mailing list