[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