[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
Mon Aug 8 13:38:04 PDT 2016


Greg: ping?

On Wed, Aug 3, 2016 at 9:06 AM, Hans Wennborg <hans at chromium.org> wrote:
> 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