svn commit: r337147 - in vendor/lldb/dist: include/lldb/Utility packages/Python/lldbsuite/test packages/Python/lldbsuite/test/api/multiple-debuggers packages/Python/lldbsuite/test/api/multithreaded...

Dimitry Andric dim at FreeBSD.org
Thu Aug 2 17:34:07 UTC 2018


Author: dim
Date: Thu Aug  2 17:33:54 2018
New Revision: 337147
URL: https://svnweb.freebsd.org/changeset/base/337147

Log:
  Vendor import of lldb trunk r338536:
  https://llvm.org/svn/llvm-project/lldb/trunk@338536

Added:
  vendor/lldb/dist/unittests/Utility/StreamTest.cpp   (contents, props changed)
Modified:
  vendor/lldb/dist/include/lldb/Utility/CompletionRequest.h
  vendor/lldb/dist/include/lldb/Utility/Stream.h
  vendor/lldb/dist/packages/Python/lldbsuite/test/api/multiple-debuggers/TestMultipleDebuggers.py
  vendor/lldb/dist/packages/Python/lldbsuite/test/api/multithreaded/TestMultithreaded.py
  vendor/lldb/dist/packages/Python/lldbsuite/test/decorators.py
  vendor/lldb/dist/packages/Python/lldbsuite/test/expression_command/call-function/TestCallStdStringFunction.py
  vendor/lldb/dist/packages/Python/lldbsuite/test/expression_command/call-restarts/TestCallThatRestarts.py
  vendor/lldb/dist/packages/Python/lldbsuite/test/expression_command/call-throws/TestCallThatThrows.py
  vendor/lldb/dist/packages/Python/lldbsuite/test/expression_command/char/TestExprsChar.py
  vendor/lldb/dist/packages/Python/lldbsuite/test/expression_command/fixits/TestFixIts.py
  vendor/lldb/dist/packages/Python/lldbsuite/test/expression_command/issue_11588/Test11588.py
  vendor/lldb/dist/packages/Python/lldbsuite/test/expression_command/pr35310/TestExprsBug35310.py
  vendor/lldb/dist/packages/Python/lldbsuite/test/expression_command/save_jit_objects/TestSaveJITObjects.py
  vendor/lldb/dist/packages/Python/lldbsuite/test/expression_command/unwind_expression/TestUnwindExpression.py
  vendor/lldb/dist/packages/Python/lldbsuite/test/expression_command/xvalue/TestXValuePrinting.py
  vendor/lldb/dist/packages/Python/lldbsuite/test/functionalities/breakpoint/address_breakpoints/TestBadAddressBreakpoints.py
  vendor/lldb/dist/packages/Python/lldbsuite/test/functionalities/breakpoint/auto_continue/TestBreakpointAutoContinue.py
  vendor/lldb/dist/packages/Python/lldbsuite/test/functionalities/breakpoint/breakpoint_locations/TestBreakpointLocations.py
  vendor/lldb/dist/packages/Python/lldbsuite/test/functionalities/breakpoint/breakpoint_names/TestBreakpointNames.py
  vendor/lldb/dist/packages/Python/lldbsuite/test/functionalities/breakpoint/hardware_breakpoints/hardware_breakpoint_on_multiple_threads/TestHWBreakMultiThread.py
  vendor/lldb/dist/packages/Python/lldbsuite/test/functionalities/breakpoint/serialize/TestBreakpointSerialization.py
  vendor/lldb/dist/packages/Python/lldbsuite/test/functionalities/breakpoint/step_over_breakpoint/TestStepOverBreakpoint.py
  vendor/lldb/dist/packages/Python/lldbsuite/test/functionalities/completion/TestCompletion.py
  vendor/lldb/dist/packages/Python/lldbsuite/test/functionalities/completion/main.cpp
  vendor/lldb/dist/packages/Python/lldbsuite/test/functionalities/data-formatter/data-formatter-stl/libcxx/bitset/TestDataFormatterLibcxxBitset.py
  vendor/lldb/dist/packages/Python/lldbsuite/test/functionalities/data-formatter/data-formatter-stl/libcxx/list/TestDataFormatterLibcxxList.py
  vendor/lldb/dist/packages/Python/lldbsuite/test/functionalities/data-formatter/data-formatter-stl/libcxx/multiset/TestDataFormatterLibcxxMultiSet.py
  vendor/lldb/dist/packages/Python/lldbsuite/test/functionalities/data-formatter/data-formatter-stl/libcxx/set/TestDataFormatterLibcxxSet.py
  vendor/lldb/dist/packages/Python/lldbsuite/test/functionalities/data-formatter/data-formatter-stl/libcxx/vector/TestDataFormatterLibcxxVector.py
  vendor/lldb/dist/packages/Python/lldbsuite/test/functionalities/data-formatter/data-formatter-stl/libstdcpp/tuple/TestDataFormatterStdTuple.py
  vendor/lldb/dist/packages/Python/lldbsuite/test/functionalities/exec/TestExec.py
  vendor/lldb/dist/packages/Python/lldbsuite/test/functionalities/frame-language/TestGuessLanguage.py
  vendor/lldb/dist/packages/Python/lldbsuite/test/functionalities/frame_var/TestFrameVar.py
  vendor/lldb/dist/packages/Python/lldbsuite/test/functionalities/gdb_remote_client/TestTargetXMLArch.py
  vendor/lldb/dist/packages/Python/lldbsuite/test/functionalities/gdb_remote_client/gdbclientutils.py
  vendor/lldb/dist/packages/Python/lldbsuite/test/functionalities/history/TestHistoryRecall.py
  vendor/lldb/dist/packages/Python/lldbsuite/test/functionalities/load_unload/TestLoadUnload.py
  vendor/lldb/dist/packages/Python/lldbsuite/test/functionalities/load_using_paths/TestLoadUsingPaths.py
  vendor/lldb/dist/packages/Python/lldbsuite/test/functionalities/pre_run_dylibs/TestPreRunDylibs.py
  vendor/lldb/dist/packages/Python/lldbsuite/test/functionalities/register/intel_avx/TestZMMRegister.py
  vendor/lldb/dist/packages/Python/lldbsuite/test/functionalities/return-value/TestReturnValue.py
  vendor/lldb/dist/packages/Python/lldbsuite/test/functionalities/thread/create_during_step/TestCreateDuringStep.py
  vendor/lldb/dist/packages/Python/lldbsuite/test/functionalities/thread/num_threads/TestNumThreads.py
  vendor/lldb/dist/packages/Python/lldbsuite/test/functionalities/thread/step_until/TestStepUntil.py
  vendor/lldb/dist/packages/Python/lldbsuite/test/functionalities/watchpoint/multi_watchpoint_slots/TestWatchpointMultipleSlots.py
  vendor/lldb/dist/packages/Python/lldbsuite/test/functionalities/watchpoint/watchpoint_disable/TestWatchpointDisable.py
  vendor/lldb/dist/packages/Python/lldbsuite/test/lang/c/find_struct_type/TestFindStructTypes.py
  vendor/lldb/dist/packages/Python/lldbsuite/test/lang/cpp/dynamic-value-same-basename/TestDynamicValueSameBase.py
  vendor/lldb/dist/packages/Python/lldbsuite/test/lang/cpp/incomplete-types/TestCppIncompleteTypes.py
  vendor/lldb/dist/packages/Python/lldbsuite/test/lang/cpp/llvm-style/TestLLVMStyle.py
  vendor/lldb/dist/packages/Python/lldbsuite/test/lang/cpp/scope/TestCppScope.py
  vendor/lldb/dist/packages/Python/lldbsuite/test/lang/cpp/trivial_abi/TestTrivialABI.py
  vendor/lldb/dist/packages/Python/lldbsuite/test/lldbdwarf.py
  vendor/lldb/dist/packages/Python/lldbsuite/test/lldbtest.py
  vendor/lldb/dist/packages/Python/lldbsuite/test/lldbutil.py
  vendor/lldb/dist/packages/Python/lldbsuite/test/macosx/find-app-in-bundle/TestFindAppInBundle.py
  vendor/lldb/dist/packages/Python/lldbsuite/test/macosx/find-dsym/bundle-with-dot-in-filename/TestBundleWithDotInFilename.py
  vendor/lldb/dist/packages/Python/lldbsuite/test/macosx/find-dsym/deep-bundle/TestDeepBundle.py
  vendor/lldb/dist/packages/Python/lldbsuite/test/macosx/thread-names/TestInterruptThreadNames.py
  vendor/lldb/dist/packages/Python/lldbsuite/test/python_api/name_lookup/TestNameLookup.py
  vendor/lldb/dist/packages/Python/lldbsuite/test/python_api/sbdata/TestSBData.py
  vendor/lldb/dist/packages/Python/lldbsuite/test/sample_test/TestSampleTest.py
  vendor/lldb/dist/packages/Python/lldbsuite/test/settings/TestSettings.py
  vendor/lldb/dist/packages/Python/lldbsuite/test/tools/lldb-mi/startup_options/TestMiStartupOptions.py
  vendor/lldb/dist/packages/Python/lldbsuite/test/tools/lldb-server/TestGdbRemote_qThreadStopInfo.py
  vendor/lldb/dist/packages/Python/lldbsuite/test/tools/lldb-server/TestLldbGdbServer.py
  vendor/lldb/dist/source/Commands/CommandCompletions.cpp
  vendor/lldb/dist/source/Commands/CommandObjectCommands.cpp
  vendor/lldb/dist/source/Commands/CommandObjectFrame.cpp
  vendor/lldb/dist/source/Commands/CommandObjectMultiword.cpp
  vendor/lldb/dist/source/Commands/CommandObjectPlatform.cpp
  vendor/lldb/dist/source/Commands/CommandObjectPlugin.cpp
  vendor/lldb/dist/source/Commands/CommandObjectProcess.cpp
  vendor/lldb/dist/source/Commands/CommandObjectSettings.cpp
  vendor/lldb/dist/source/Commands/CommandObjectTarget.cpp
  vendor/lldb/dist/source/Core/FormatEntity.cpp
  vendor/lldb/dist/source/Core/IOHandler.cpp
  vendor/lldb/dist/source/Interpreter/CommandInterpreter.cpp
  vendor/lldb/dist/source/Interpreter/CommandObject.cpp
  vendor/lldb/dist/source/Interpreter/CommandObjectRegexCommand.cpp
  vendor/lldb/dist/source/Interpreter/OptionValue.cpp
  vendor/lldb/dist/source/Interpreter/OptionValueArch.cpp
  vendor/lldb/dist/source/Interpreter/OptionValueBoolean.cpp
  vendor/lldb/dist/source/Interpreter/OptionValueEnumeration.cpp
  vendor/lldb/dist/source/Interpreter/OptionValueFileSpec.cpp
  vendor/lldb/dist/source/Interpreter/OptionValueUUID.cpp
  vendor/lldb/dist/source/Interpreter/Options.cpp
  vendor/lldb/dist/source/Plugins/Platform/Android/PlatformAndroid.cpp
  vendor/lldb/dist/source/Plugins/Platform/Windows/PlatformWindows.cpp
  vendor/lldb/dist/source/Plugins/SymbolFile/DWARF/DWARFCompileUnit.h
  vendor/lldb/dist/source/Plugins/SymbolFile/DWARF/DWARFUnit.h
  vendor/lldb/dist/source/Symbol/Variable.cpp
  vendor/lldb/dist/source/Utility/ArchSpec.cpp
  vendor/lldb/dist/source/Utility/CompletionRequest.cpp
  vendor/lldb/dist/source/Utility/Stream.cpp
  vendor/lldb/dist/unittests/Utility/CMakeLists.txt
  vendor/lldb/dist/unittests/Utility/CompletionRequestTest.cpp

Modified: vendor/lldb/dist/include/lldb/Utility/CompletionRequest.h
==============================================================================
--- vendor/lldb/dist/include/lldb/Utility/CompletionRequest.h	Thu Aug  2 17:33:50 2018	(r337146)
+++ vendor/lldb/dist/include/lldb/Utility/CompletionRequest.h	Thu Aug  2 17:33:54 2018	(r337147)
@@ -13,6 +13,7 @@
 #include "lldb/Utility/Args.h"
 #include "lldb/Utility/StringList.h"
 #include "llvm/ADT/StringRef.h"
+#include "llvm/ADT/StringSet.h"
 
 namespace lldb_private {
 
@@ -77,9 +78,30 @@ class CompletionRequest { (public)
 
   void SetWordComplete(bool v) { m_word_complete = v; }
 
-  /// The array of matches returned.
-  StringList &GetMatches() { return *m_matches; }
+  /// Adds a possible completion string. If the completion was already
+  /// suggested before, it will not be added to the list of results. A copy of
+  /// the suggested completion is stored, so the given string can be free'd
+  /// afterwards.
+  ///
+  /// @param match The suggested completion.
+  void AddCompletion(llvm::StringRef completion) {
+    // Add the completion if we haven't seen the same value before.
+    if (m_match_set.insert(completion).second)
+      m_matches->AppendString(completion);
+  }
 
+  /// Adds multiple possible completion strings.
+  ///
+  /// \param completions The list of completions.
+  ///
+  /// @see AddCompletion
+  void AddCompletions(const StringList &completions) {
+    for (std::size_t i = 0; i < completions.GetSize(); ++i)
+      AddCompletion(completions.GetStringAtIndex(i));
+  }
+
+  std::size_t GetNumberOfMatches() const { return m_matches->GetSize(); }
+
   llvm::StringRef GetCursorArgument() const {
     return GetParsedLine().GetArgumentAtIndex(GetCursorIndex());
   }
@@ -111,8 +133,15 @@ class CompletionRequest { (public)
   /// \btrue if this is a complete option value (a space will be inserted
   /// after the completion.)  \bfalse otherwise.
   bool m_word_complete = false;
-  // We don't own the list.
+
+  // Note: This list is kept private. This is by design to prevent that any
+  // completion depends on any already computed completion from another backend.
+  // Note: We don't own the list. It's owned by the creator of the
+  // CompletionRequest object.
   StringList *m_matches;
+
+  /// List of added completions so far. Used to filter out duplicates.
+  llvm::StringSet<> m_match_set;
 };
 
 } // namespace lldb_private

Modified: vendor/lldb/dist/include/lldb/Utility/Stream.h
==============================================================================
--- vendor/lldb/dist/include/lldb/Utility/Stream.h	Thu Aug  2 17:33:50 2018	(r337146)
+++ vendor/lldb/dist/include/lldb/Utility/Stream.h	Thu Aug  2 17:33:54 2018	(r337147)
@@ -524,8 +524,6 @@ class Stream { (public)
   //------------------------------------------------------------------
   size_t PutULEB128(uint64_t uval);
 
-  static void UnitTest(Stream *s);
-
 protected:
   //------------------------------------------------------------------
   // Member variables

Modified: vendor/lldb/dist/packages/Python/lldbsuite/test/api/multiple-debuggers/TestMultipleDebuggers.py
==============================================================================
--- vendor/lldb/dist/packages/Python/lldbsuite/test/api/multiple-debuggers/TestMultipleDebuggers.py	Thu Aug  2 17:33:50 2018	(r337146)
+++ vendor/lldb/dist/packages/Python/lldbsuite/test/api/multiple-debuggers/TestMultipleDebuggers.py	Thu Aug  2 17:33:54 2018	(r337147)
@@ -18,7 +18,7 @@ class TestMultipleSimultaneousDebuggers(TestBase):
 
     mydir = TestBase.compute_mydir(__file__)
 
-    # This test case fails non-deterministically. 
+    # This test case fails non-deterministically.
     @skipIfNoSBHeaders
     @expectedFailureAll(bugnumber="llvm.org/pr20282")
     def test_multiple_debuggers(self):

Modified: vendor/lldb/dist/packages/Python/lldbsuite/test/api/multithreaded/TestMultithreaded.py
==============================================================================
--- vendor/lldb/dist/packages/Python/lldbsuite/test/api/multithreaded/TestMultithreaded.py	Thu Aug  2 17:33:50 2018	(r337146)
+++ vendor/lldb/dist/packages/Python/lldbsuite/test/api/multithreaded/TestMultithreaded.py	Thu Aug  2 17:33:54 2018	(r337147)
@@ -16,7 +16,7 @@ import subprocess
 class SBBreakpointCallbackCase(TestBase):
 
     NO_DEBUG_INFO_TESTCASE = True
-   
+
     def setUp(self):
         TestBase.setUp(self)
         self.generateSource('driver.cpp')

Modified: vendor/lldb/dist/packages/Python/lldbsuite/test/decorators.py
==============================================================================
--- vendor/lldb/dist/packages/Python/lldbsuite/test/decorators.py	Thu Aug  2 17:33:50 2018	(r337146)
+++ vendor/lldb/dist/packages/Python/lldbsuite/test/decorators.py	Thu Aug  2 17:33:54 2018	(r337147)
@@ -791,7 +791,7 @@ def skipIfLLVMTargetMissing(target):
         if targets.GetItemAtIndex(i).GetStringValue(99) == target:
             found = True
             break
-    
+
     return unittest2.skipIf(not found, "requires " + target)
 
 # Call sysctl on darwin to see if a specified hardware feature is available on this machine.

Modified: vendor/lldb/dist/packages/Python/lldbsuite/test/expression_command/call-function/TestCallStdStringFunction.py
==============================================================================
--- vendor/lldb/dist/packages/Python/lldbsuite/test/expression_command/call-function/TestCallStdStringFunction.py	Thu Aug  2 17:33:50 2018	(r337146)
+++ vendor/lldb/dist/packages/Python/lldbsuite/test/expression_command/call-function/TestCallStdStringFunction.py	Thu Aug  2 17:33:54 2018	(r337147)
@@ -46,7 +46,7 @@ class ExprCommandCallFunctionTestCase(TestBase):
         # Calling this function now succeeds, but we follow the typedef return type through to
         # const char *, and thus don't invoke the Summary formatter.
 
-        # clang's libstdc++ on ios arm64 inlines std::string::c_str() always; 
+        # clang's libstdc++ on ios arm64 inlines std::string::c_str() always;
         # skip this part of the test.
         triple = self.dbg.GetSelectedPlatform().GetTriple()
         do_cstr_test = True

Modified: vendor/lldb/dist/packages/Python/lldbsuite/test/expression_command/call-restarts/TestCallThatRestarts.py
==============================================================================
--- vendor/lldb/dist/packages/Python/lldbsuite/test/expression_command/call-restarts/TestCallThatRestarts.py	Thu Aug  2 17:33:50 2018	(r337146)
+++ vendor/lldb/dist/packages/Python/lldbsuite/test/expression_command/call-restarts/TestCallThatRestarts.py	Thu Aug  2 17:33:54 2018	(r337147)
@@ -48,7 +48,7 @@ class ExprCommandThatRestartsTestCase(TestBase):
             "Restored the zeroth frame correctly")
 
     def call_function(self):
-        (target, process, self.thread, bkpt) = lldbutil.run_to_source_breakpoint(self, 
+        (target, process, self.thread, bkpt) = lldbutil.run_to_source_breakpoint(self,
                                       'Stop here in main.', self.main_source_spec)
 
         # Make sure the SIGCHLD behavior is pass/no-stop/no-notify:

Modified: vendor/lldb/dist/packages/Python/lldbsuite/test/expression_command/call-throws/TestCallThatThrows.py
==============================================================================
--- vendor/lldb/dist/packages/Python/lldbsuite/test/expression_command/call-throws/TestCallThatThrows.py	Thu Aug  2 17:33:50 2018	(r337146)
+++ vendor/lldb/dist/packages/Python/lldbsuite/test/expression_command/call-throws/TestCallThatThrows.py	Thu Aug  2 17:33:54 2018	(r337147)
@@ -37,7 +37,7 @@ class ExprCommandWithThrowTestCase(TestBase):
 
     def call_function(self):
         """Test calling function that throws."""
-        (target, process, self.thread, bkpt) = lldbutil.run_to_source_breakpoint(self, 
+        (target, process, self.thread, bkpt) = lldbutil.run_to_source_breakpoint(self,
                                    'I am about to throw.', self.main_source_spec)
 
         options = lldb.SBExpressionOptions()

Modified: vendor/lldb/dist/packages/Python/lldbsuite/test/expression_command/char/TestExprsChar.py
==============================================================================
--- vendor/lldb/dist/packages/Python/lldbsuite/test/expression_command/char/TestExprsChar.py	Thu Aug  2 17:33:50 2018	(r337146)
+++ vendor/lldb/dist/packages/Python/lldbsuite/test/expression_command/char/TestExprsChar.py	Thu Aug  2 17:33:54 2018	(r337147)
@@ -22,7 +22,7 @@ class ExprCharTestCase(TestBase):
         """These basic expression commands should work as expected."""
         self.build(dictionary=dictionary)
 
-        (target, process, thread, bkpt) = lldbutil.run_to_source_breakpoint(self, 
+        (target, process, thread, bkpt) = lldbutil.run_to_source_breakpoint(self,
                                           '// Break here', self.main_source_spec)
         frame = thread.GetFrameAtIndex(0)
 

Modified: vendor/lldb/dist/packages/Python/lldbsuite/test/expression_command/fixits/TestFixIts.py
==============================================================================
--- vendor/lldb/dist/packages/Python/lldbsuite/test/expression_command/fixits/TestFixIts.py	Thu Aug  2 17:33:50 2018	(r337146)
+++ vendor/lldb/dist/packages/Python/lldbsuite/test/expression_command/fixits/TestFixIts.py	Thu Aug  2 17:33:54 2018	(r337147)
@@ -37,7 +37,7 @@ class ExprCommandWithFixits(TestBase):
 
     def try_expressions(self):
         """Test calling expressions with errors that can be fixed by the FixIts."""
-        (target, process, self.thread, bkpt) = lldbutil.run_to_source_breakpoint(self, 
+        (target, process, self.thread, bkpt) = lldbutil.run_to_source_breakpoint(self,
                                         'Stop here to evaluate expressions', self.main_source_spec)
 
         options = lldb.SBExpressionOptions()

Modified: vendor/lldb/dist/packages/Python/lldbsuite/test/expression_command/issue_11588/Test11588.py
==============================================================================
--- vendor/lldb/dist/packages/Python/lldbsuite/test/expression_command/issue_11588/Test11588.py	Thu Aug  2 17:33:50 2018	(r337146)
+++ vendor/lldb/dist/packages/Python/lldbsuite/test/expression_command/issue_11588/Test11588.py	Thu Aug  2 17:33:54 2018	(r337147)
@@ -32,8 +32,8 @@ class Issue11581TestCase(TestBase):
         """valobj.AddressOf() should return correct values."""
         self.build()
 
-        (target, process, thread, bkpt) = lldbutil.run_to_source_breakpoint(self, 
-                                              'Set breakpoint here.', 
+        (target, process, thread, bkpt) = lldbutil.run_to_source_breakpoint(self,
+                                              'Set breakpoint here.',
                                               lldb.SBFileSpec("main.cpp", False))
         self.runCmd("command script import --allow-reload s11588.py")
         self.runCmd(

Modified: vendor/lldb/dist/packages/Python/lldbsuite/test/expression_command/pr35310/TestExprsBug35310.py
==============================================================================
--- vendor/lldb/dist/packages/Python/lldbsuite/test/expression_command/pr35310/TestExprsBug35310.py	Thu Aug  2 17:33:50 2018	(r337146)
+++ vendor/lldb/dist/packages/Python/lldbsuite/test/expression_command/pr35310/TestExprsBug35310.py	Thu Aug  2 17:33:54 2018	(r337147)
@@ -25,7 +25,7 @@ class ExprBug35310(TestBase):
         """
         self.build()
 
-        (target, process, thread, bkpt) = lldbutil.run_to_source_breakpoint(self, 
+        (target, process, thread, bkpt) = lldbutil.run_to_source_breakpoint(self,
                                           '// Break here', self.main_source_spec)
         frame = thread.GetFrameAtIndex(0)
 

Modified: vendor/lldb/dist/packages/Python/lldbsuite/test/expression_command/save_jit_objects/TestSaveJITObjects.py
==============================================================================
--- vendor/lldb/dist/packages/Python/lldbsuite/test/expression_command/save_jit_objects/TestSaveJITObjects.py	Thu Aug  2 17:33:50 2018	(r337146)
+++ vendor/lldb/dist/packages/Python/lldbsuite/test/expression_command/save_jit_objects/TestSaveJITObjects.py	Thu Aug  2 17:33:54 2018	(r337147)
@@ -16,7 +16,7 @@ class SaveJITObjectsTestCase(TestBase):
 
     def enumerateJITFiles(self):
         return [f for f in os.listdir(self.getBuildDir()) if f.startswith("jit")]
-    
+
     def countJITFiles(self):
         return len(self.enumerateJITFiles())
 
@@ -31,7 +31,7 @@ class SaveJITObjectsTestCase(TestBase):
         os.chdir(self.getBuildDir())
         src_file = "main.c"
         src_file_spec = lldb.SBFileSpec(src_file)
-  
+
         (target, process, thread, bkpt) = lldbutil.run_to_source_breakpoint(
             self, "break", src_file_spec)
 

Modified: vendor/lldb/dist/packages/Python/lldbsuite/test/expression_command/unwind_expression/TestUnwindExpression.py
==============================================================================
--- vendor/lldb/dist/packages/Python/lldbsuite/test/expression_command/unwind_expression/TestUnwindExpression.py	Thu Aug  2 17:33:50 2018	(r337146)
+++ vendor/lldb/dist/packages/Python/lldbsuite/test/expression_command/unwind_expression/TestUnwindExpression.py	Thu Aug  2 17:33:54 2018	(r337147)
@@ -23,7 +23,7 @@ class UnwindFromExpressionTest(TestBase):
     def build_and_run_to_bkpt(self):
         self.build()
 
-        (target, process, self.thread, bkpt) = lldbutil.run_to_source_breakpoint(self, 
+        (target, process, self.thread, bkpt) = lldbutil.run_to_source_breakpoint(self,
                 "// Set a breakpoint here to get started", self.main_spec)
 
         # Next set a breakpoint in this function, set up Expression options to stop on

Modified: vendor/lldb/dist/packages/Python/lldbsuite/test/expression_command/xvalue/TestXValuePrinting.py
==============================================================================
--- vendor/lldb/dist/packages/Python/lldbsuite/test/expression_command/xvalue/TestXValuePrinting.py	Thu Aug  2 17:33:50 2018	(r337146)
+++ vendor/lldb/dist/packages/Python/lldbsuite/test/expression_command/xvalue/TestXValuePrinting.py	Thu Aug  2 17:33:54 2018	(r337147)
@@ -22,7 +22,7 @@ class ExprXValuePrintingTestCase(TestBase):
         """Printing an xvalue should work."""
         self.build(dictionary=dictionary)
 
-        (target, process, thread, bkpt) = lldbutil.run_to_source_breakpoint(self, 
+        (target, process, thread, bkpt) = lldbutil.run_to_source_breakpoint(self,
                                           '// Break here', self.main_source_spec)
         frame = thread.GetFrameAtIndex(0)
 

Modified: vendor/lldb/dist/packages/Python/lldbsuite/test/functionalities/breakpoint/address_breakpoints/TestBadAddressBreakpoints.py
==============================================================================
--- vendor/lldb/dist/packages/Python/lldbsuite/test/functionalities/breakpoint/address_breakpoints/TestBadAddressBreakpoints.py	Thu Aug  2 17:33:50 2018	(r337146)
+++ vendor/lldb/dist/packages/Python/lldbsuite/test/functionalities/breakpoint/address_breakpoints/TestBadAddressBreakpoints.py	Thu Aug  2 17:33:54 2018	(r337147)
@@ -31,7 +31,7 @@ class BadAddressBreakpointTestCase(TestBase):
     def address_breakpoints(self):
         """Test that breakpoints set on a bad address say they are bad."""
         target, process, thread, bkpt = \
-            lldbutil.run_to_source_breakpoint(self, 
+            lldbutil.run_to_source_breakpoint(self,
                                               "Set a breakpoint here",
                                               lldb.SBFileSpec("main.c"))
 

Modified: vendor/lldb/dist/packages/Python/lldbsuite/test/functionalities/breakpoint/auto_continue/TestBreakpointAutoContinue.py
==============================================================================
--- vendor/lldb/dist/packages/Python/lldbsuite/test/functionalities/breakpoint/auto_continue/TestBreakpointAutoContinue.py	Thu Aug  2 17:33:50 2018	(r337146)
+++ vendor/lldb/dist/packages/Python/lldbsuite/test/functionalities/breakpoint/auto_continue/TestBreakpointAutoContinue.py	Thu Aug  2 17:33:54 2018	(r337147)
@@ -34,17 +34,17 @@ class BreakpointAutoContinue(TestBase):
         self.build()
         self.auto_continue_location()
 
-    def make_target_and_bkpt(self, additional_options=None, num_expected_loc=1, 
+    def make_target_and_bkpt(self, additional_options=None, num_expected_loc=1,
                              pattern="Set a breakpoint here"):
         exe = self.getBuildArtifact("a.out")
         self.target = self.dbg.CreateTarget(exe)
         self.assertTrue(self.target.IsValid(), "Target is not valid")
-        
+
         extra_options_txt = "--auto-continue 1 "
         if additional_options:
             extra_options_txt += additional_options
-        bpno = lldbutil.run_break_set_by_source_regexp(self, pattern, 
-                                            extra_options = extra_options_txt, 
+        bpno = lldbutil.run_break_set_by_source_regexp(self, pattern,
+                                            extra_options = extra_options_txt,
                                             num_expected_locations = num_expected_loc)
         return bpno
 

Modified: vendor/lldb/dist/packages/Python/lldbsuite/test/functionalities/breakpoint/breakpoint_locations/TestBreakpointLocations.py
==============================================================================
--- vendor/lldb/dist/packages/Python/lldbsuite/test/functionalities/breakpoint/breakpoint_locations/TestBreakpointLocations.py	Thu Aug  2 17:33:50 2018	(r337146)
+++ vendor/lldb/dist/packages/Python/lldbsuite/test/functionalities/breakpoint/breakpoint_locations/TestBreakpointLocations.py	Thu Aug  2 17:33:54 2018	(r337147)
@@ -46,12 +46,12 @@ class BreakpointLocationsTestCase(TestBase):
         self.assertTrue(target, "Target %s is not valid"%(exe))
 
         # This should create a breakpoint with 3 locations.
-        
+
         bkpt = target.BreakpointCreateByLocation("main.c", self.line)
 
         # The breakpoint list should show 3 locations.
         self.assertEqual(bkpt.GetNumLocations(), 3, "Wrong number of locations")
-        
+
         self.expect(
             "breakpoint list -f",
             "Breakpoint locations shown correctly",
@@ -62,7 +62,7 @@ class BreakpointLocationsTestCase(TestBase):
                 "where = a.out`func_inlined .+unresolved, hit count = 0",
                 "where = a.out`main .+\[inlined\].+unresolved, hit count = 0"])
 
-        return bkpt        
+        return bkpt
 
     def shadowed_bkpt_cond_test(self):
         """Test that options set on the breakpoint and location behave correctly."""
@@ -106,7 +106,7 @@ class BreakpointLocationsTestCase(TestBase):
         commands = ["AAAAAA", "BBBBBB", "CCCCCC"]
         str_list = lldb.SBStringList()
         str_list.AppendList(commands, len(commands))
-        
+
         bkpt.SetCommandLineCommands(str_list)
         cmd_list = lldb.SBStringList()
         bkpt.GetCommandLineCommands(cmd_list)
@@ -123,7 +123,7 @@ class BreakpointLocationsTestCase(TestBase):
         bkpt.location[1].GetCommandLineCommands(loc_cmd_list)
 
         loc_list_size = loc_list.GetSize()
-        
+
         # Check that the location has the right commands:
         self.assertEqual(loc_cmd_list.GetSize() , loc_list_size, "Added the right number of commands to location")
         for i in range(0,loc_list_size):

Modified: vendor/lldb/dist/packages/Python/lldbsuite/test/functionalities/breakpoint/breakpoint_names/TestBreakpointNames.py
==============================================================================
--- vendor/lldb/dist/packages/Python/lldbsuite/test/functionalities/breakpoint/breakpoint_names/TestBreakpointNames.py	Thu Aug  2 17:33:50 2018	(r337146)
+++ vendor/lldb/dist/packages/Python/lldbsuite/test/functionalities/breakpoint/breakpoint_names/TestBreakpointNames.py	Thu Aug  2 17:33:54 2018	(r337147)
@@ -64,7 +64,7 @@ class BreakpointNames(TestBase):
         self.target = self.dbg.CreateTarget(exe)
         self.assertTrue(self.target, VALID_TARGET)
         self.main_file_spec = lldb.SBFileSpec(os.path.join(self.getSourceDir(), "main.c"))
-        
+
     def check_name_in_target(self, bkpt_name):
         name_list = lldb.SBStringList()
         self.target.GetBreakpointNames(name_list)
@@ -74,7 +74,7 @@ class BreakpointNames(TestBase):
                 found_it = True
                 break
         self.assertTrue(found_it, "Didn't find the name %s in the target's name list:"%(bkpt_name))
-       
+
     def setUp(self):
         # Call super's setUp().
         TestBase.setUp(self)
@@ -107,14 +107,14 @@ class BreakpointNames(TestBase):
 
         matches = bkpt.MatchesName(bkpt_name)
         self.assertTrue(matches, "We didn't match the name we just set")
-        
+
         # Make sure we don't match irrelevant names:
         matches = bkpt.MatchesName("NotABreakpoint")
         self.assertTrue(not matches, "We matched a name we didn't set.")
 
         # Make sure the name is also in the target:
         self.check_name_in_target(bkpt_name)
- 
+
         # Add another name, make sure that works too:
         bkpt.AddName(other_bkpt_name)
 
@@ -132,7 +132,7 @@ class BreakpointNames(TestBase):
         bkpt.GetNames(name_list)
         num_names = name_list.GetSize()
         self.assertTrue(num_names == 1, "Name list has %d items, expected 1."%(num_names))
-        
+
         name = name_list.GetStringAtIndex(0)
         self.assertTrue(name == other_bkpt_name, "Remaining name was: %s expected %s."%(name, other_bkpt_name))
 
@@ -156,7 +156,7 @@ class BreakpointNames(TestBase):
 
     def do_check_using_names(self):
         """Use Python APIs to check names work in place of breakpoint ID's."""
-        
+
         bkpt = self.target.BreakpointCreateByLocation(self.main_file_spec, 10)
         bkpt_name = "ABreakpoint"
         other_bkpt_name= "_AnotherBreakpoint"
@@ -255,12 +255,12 @@ class BreakpointNames(TestBase):
         bp_name.SetAutoContinue(new_auto_continue)
         self.assertEqual(bp_name.GetAutoContinue(), new_auto_continue, "Couldn't change auto-continue on the name")
         self.assertEqual(bkpt.GetAutoContinue(), new_auto_continue, "Option didn't propagate to the breakpoint.")
-        
+
         # Now make this same breakpoint name - but from the command line
-        cmd_str = "breakpoint name configure %s -o %d -i %d -c '%s' -G %d -t %d -x %d -T '%s' -q '%s' -H '%s'"%(cl_bp_name_string, 
-                                                                             self.is_one_shot, 
-                                                                             self.ignore_count, 
-                                                                             self.condition, 
+        cmd_str = "breakpoint name configure %s -o %d -i %d -c '%s' -G %d -t %d -x %d -T '%s' -q '%s' -H '%s'"%(cl_bp_name_string,
+                                                                             self.is_one_shot,
+                                                                             self.ignore_count,
+                                                                             self.condition,
                                                                              self.auto_continue,
                                                                              self.tid,
                                                                              self.tidx,
@@ -269,7 +269,7 @@ class BreakpointNames(TestBase):
                                                                              self.help_string)
         for cmd in self.cmd_list:
             cmd_str += " -C '%s'"%(cmd)
-        
+
         self.runCmd(cmd_str, check=True)
         # Now look up this name again and check its options:
         cl_name = lldb.SBBreakpointName(self.target, cl_bp_name_string)
@@ -280,14 +280,14 @@ class BreakpointNames(TestBase):
         new_help = "I do something even more interesting"
         cl_name.SetHelpString(new_help)
         self.assertEqual(new_help, cl_name.GetHelpString(), "SetHelpString didn't")
-        
+
         # We should have three names now, make sure the target can list them:
         name_list = lldb.SBStringList()
         self.target.GetBreakpointNames(name_list)
         for name_string in [self.bp_name_string, other_bp_name_string, cl_bp_name_string]:
             self.assertTrue(name_string in name_list, "Didn't find %s in names"%(name_string))
 
-        # Delete the name from the current target.  Make sure that works and deletes the 
+        # Delete the name from the current target.  Make sure that works and deletes the
         # name from the breakpoint as well:
         self.target.DeleteBreakpointName(self.bp_name_string)
         name_list.Clear()
@@ -305,7 +305,7 @@ class BreakpointNames(TestBase):
         self.assertTrue(self.bp_name_string not in name_list, "Didn't delete %s from the dummy target"%(self.bp_name_string))
         # Also make sure the name got removed from breakpoints holding it:
         self.assertFalse(bkpt.MatchesName(self.bp_name_string), "Didn't remove the name from the breakpoint.")
-        
+
     def check_permission_results(self, bp_name):
         self.assertEqual(bp_name.GetAllowDelete(), False, "Didn't set allow delete.")
         protected_bkpt = self.target.BreakpointCreateByLocation(self.main_file_spec, 10)

Modified: vendor/lldb/dist/packages/Python/lldbsuite/test/functionalities/breakpoint/hardware_breakpoints/hardware_breakpoint_on_multiple_threads/TestHWBreakMultiThread.py
==============================================================================
--- vendor/lldb/dist/packages/Python/lldbsuite/test/functionalities/breakpoint/hardware_breakpoints/hardware_breakpoint_on_multiple_threads/TestHWBreakMultiThread.py	Thu Aug  2 17:33:50 2018	(r337146)
+++ vendor/lldb/dist/packages/Python/lldbsuite/test/functionalities/breakpoint/hardware_breakpoints/hardware_breakpoint_on_multiple_threads/TestHWBreakMultiThread.py	Thu Aug  2 17:33:54 2018	(r337147)
@@ -25,7 +25,7 @@ class HardwareBreakpointMultiThreadTestCase(TestBase):
     @expectedFailureAndroid
     def test_hw_break_set_delete_multi_thread(self):
         self.build()
-        self.setTearDownCleanup() 
+        self.setTearDownCleanup()
         self.break_multi_thread('delete')
 
     # LLDB supports hardware breakpoints for arm and aarch64 architectures.
@@ -33,7 +33,7 @@ class HardwareBreakpointMultiThreadTestCase(TestBase):
     @expectedFailureAndroid
     def test_hw_break_set_disable_multi_thread(self):
         self.build()
-        self.setTearDownCleanup() 
+        self.setTearDownCleanup()
         self.break_multi_thread('disable')
 
     def setUp(self):
@@ -74,7 +74,7 @@ class HardwareBreakpointMultiThreadTestCase(TestBase):
         count = 0
 
         while count < 2 :
-         
+
             self.runCmd("process continue")
 
             # We should be stopped in hw_break_function

Modified: vendor/lldb/dist/packages/Python/lldbsuite/test/functionalities/breakpoint/serialize/TestBreakpointSerialization.py
==============================================================================
--- vendor/lldb/dist/packages/Python/lldbsuite/test/functionalities/breakpoint/serialize/TestBreakpointSerialization.py	Thu Aug  2 17:33:50 2018	(r337146)
+++ vendor/lldb/dist/packages/Python/lldbsuite/test/functionalities/breakpoint/serialize/TestBreakpointSerialization.py	Thu Aug  2 17:33:54 2018	(r337147)
@@ -65,7 +65,7 @@ class BreakpointSerialization(TestBase):
         # Create the targets we are making breakpoints in and copying them to:
         self.orig_target = self.dbg.CreateTarget(exe)
         self.assertTrue(self.orig_target, VALID_TARGET)
-        
+
         self.copy_target = self.dbg.CreateTarget(exe)
         self.assertTrue(self.copy_target, VALID_TARGET)
 
@@ -91,7 +91,7 @@ class BreakpointSerialization(TestBase):
         num_source_bps = source_bps.GetSize()
         num_copy_bps = copy_bps.GetSize()
         self.assertTrue(num_source_bps == num_copy_bps, "Didn't get same number of input and output breakpoints - orig: %d copy: %d"%(num_source_bps, num_copy_bps))
-        
+
         for i in range(0, num_source_bps):
             source_bp = source_bps.GetBreakpointAtIndex(i)
             source_desc = lldb.SBStream()
@@ -132,7 +132,7 @@ class BreakpointSerialization(TestBase):
         source_bps.Append(self.orig_target.BreakpointCreateByName("blubby", lldb.eFunctionNameTypeAuto, empty_module_list, empty_cu_list))
         source_bps.Append(self.orig_target.BreakpointCreateByName("blubby", lldb.eFunctionNameTypeFull, empty_module_list,empty_cu_list))
         source_bps.Append(self.orig_target.BreakpointCreateBySourceRegex("dont really care", blubby_file_spec))
-        
+
         # And some number greater than one:
         self.check_equivalence(source_bps)
 
@@ -185,7 +185,7 @@ class BreakpointSerialization(TestBase):
         bkpt.SetOneShot(True)
         bkpt.SetThreadID(10)
         source_bps.Append(bkpt)
-        
+
         # Make sure we get one right:
         self.check_equivalence(source_bps)
         source_bps.Clear()
@@ -232,7 +232,7 @@ class BreakpointSerialization(TestBase):
         bkpt.SetThreadID(10)
         source_bps.Append(bkpt)
         all_bps.Append(bkpt)
-        
+
         error = lldb.SBError()
         error = self.orig_target.BreakpointsWriteToFile(self.bkpts_file_spec, source_bps)
         self.assertTrue(error.Success(), "Failed writing breakpoints to file: %s."%(error.GetCString()))
@@ -265,7 +265,7 @@ class BreakpointSerialization(TestBase):
         write_bps = lldb.SBBreakpointList(self.orig_target)
         bkpt.AddName(good_bkpt_name)
         write_bps.Append(bkpt)
-        
+
         error = lldb.SBError()
         error = self.orig_target.BreakpointsWriteToFile(self.bkpts_file_spec, write_bps)
         self.assertTrue(error.Success(), "Failed writing breakpoints to file: %s."%(error.GetCString()))
@@ -282,7 +282,3 @@ class BreakpointSerialization(TestBase):
         error = self.copy_target.BreakpointsCreateFromFile(self.bkpts_file_spec, names_list, copy_bps)
         self.assertTrue(error.Success(), "Failed reading breakpoints from file: %s"%(error.GetCString()))
         self.assertTrue(copy_bps.GetSize() == 1, "Found the matching breakpoint.")
-        
-        
-        
-        

Modified: vendor/lldb/dist/packages/Python/lldbsuite/test/functionalities/breakpoint/step_over_breakpoint/TestStepOverBreakpoint.py
==============================================================================
--- vendor/lldb/dist/packages/Python/lldbsuite/test/functionalities/breakpoint/step_over_breakpoint/TestStepOverBreakpoint.py	Thu Aug  2 17:33:50 2018	(r337146)
+++ vendor/lldb/dist/packages/Python/lldbsuite/test/functionalities/breakpoint/step_over_breakpoint/TestStepOverBreakpoint.py	Thu Aug  2 17:33:54 2018	(r337147)
@@ -1,8 +1,8 @@
 """
 Test that breakpoints do not affect stepping.
-Check for correct StopReason when stepping to the line with breakpoint 
+Check for correct StopReason when stepping to the line with breakpoint
 which chould be eStopReasonBreakpoint in general,
-and eStopReasonPlanComplete when breakpoint's condition fails.  
+and eStopReasonPlanComplete when breakpoint's condition fails.
 """
 
 from __future__ import print_function
@@ -19,7 +19,7 @@ class StepOverBreakpointsTestCase(TestBase):
 
     def setUp(self):
         TestBase.setUp(self)
-       
+
         self.build()
         exe = self.getBuildArtifact("a.out")
         src = lldb.SBFileSpec("main.cpp")
@@ -32,7 +32,7 @@ class StepOverBreakpointsTestCase(TestBase):
         self.line1 = line_number('main.cpp', "breakpoint_1")
         self.line4 = line_number('main.cpp', "breakpoint_4")
 
-        self.breakpoint1 = self.target.BreakpointCreateByLocation(src, self.line1)        
+        self.breakpoint1 = self.target.BreakpointCreateByLocation(src, self.line1)
         self.assertTrue(
             self.breakpoint1 and self.breakpoint1.GetNumLocations() == 1,
             VALID_BREAKPOINT)
@@ -52,7 +52,7 @@ class StepOverBreakpointsTestCase(TestBase):
         self.thread = lldbutil.get_one_thread_stopped_at_breakpoint(self.process, self.breakpoint1)
         self.assertIsNotNone(self.thread, "Didn't stop at breakpoint 1.")
 
-    def test_step_instruction(self): 
+    def test_step_instruction(self):
         # Count instructions between breakpoint_1 and breakpoint_4
         contextList = self.target.FindFunctions('main', lldb.eFunctionNameTypeAuto)
         self.assertEquals(contextList.GetSize(), 1)
@@ -89,7 +89,7 @@ class StepOverBreakpointsTestCase(TestBase):
     @skipIf(bugnumber="llvm.org/pr31972", hostoslist=["windows"])
     def test_step_over(self):
         #lldb.DBG.EnableLog("lldb", ["step","breakpoint"])
-        
+
         self.thread.StepOver()
         # We should be stopped at the breakpoint_2 line with stop plan complete reason
         self.assertEquals(self.process.GetState(), lldb.eStateStopped)

Modified: vendor/lldb/dist/packages/Python/lldbsuite/test/functionalities/completion/TestCompletion.py
==============================================================================
--- vendor/lldb/dist/packages/Python/lldbsuite/test/functionalities/completion/TestCompletion.py	Thu Aug  2 17:33:50 2018	(r337146)
+++ vendor/lldb/dist/packages/Python/lldbsuite/test/functionalities/completion/TestCompletion.py	Thu Aug  2 17:33:54 2018	(r337147)
@@ -39,6 +39,46 @@ class CommandLineCompletionTestCase(TestBase):
         self.complete_from_to('de', 'detach ')
 
     @skipIfFreeBSD  # timing out on the FreeBSD buildbot
+    def test_frame_variable(self):
+        self.build()
+        self.main_source = "main.cpp"
+        self.main_source_spec = lldb.SBFileSpec(self.main_source)
+        self.dbg.CreateTarget(self.getBuildArtifact("a.out"))
+
+        (target, process, thread, bkpt) = lldbutil.run_to_source_breakpoint(self,
+                                          '// Break here', self.main_source_spec)
+        self.assertEquals(process.GetState(), lldb.eStateStopped)
+        # FIXME: This pulls in the debug information to make the completions work,
+        # but the completions should also work without.
+        self.runCmd("frame variable fooo")
+
+        self.complete_from_to('frame variable fo',
+                              'frame variable fooo')
+        self.complete_from_to('frame variable fooo.',
+                              'frame variable fooo.')
+        self.complete_from_to('frame variable fooo.dd',
+                              'frame variable fooo.dd')
+
+        self.complete_from_to('frame variable ptr_fooo->',
+                              'frame variable ptr_fooo->')
+        self.complete_from_to('frame variable ptr_fooo->dd',
+                              'frame variable ptr_fooo->dd')
+
+        self.complete_from_to('frame variable cont',
+                              'frame variable container')
+        self.complete_from_to('frame variable container.',
+                              'frame variable container.MemberVar')
+        self.complete_from_to('frame variable container.Mem',
+                              'frame variable container.MemberVar')
+
+        self.complete_from_to('frame variable ptr_cont',
+                              'frame variable ptr_container')
+        self.complete_from_to('frame variable ptr_container->',
+                              'frame variable ptr_container->MemberVar')
+        self.complete_from_to('frame variable ptr_container->Mem',
+                              'frame variable ptr_container->MemberVar')
+
+    @skipIfFreeBSD  # timing out on the FreeBSD buildbot
     def test_process_attach_dash_dash_con(self):
         """Test that 'process attach --con' completes to 'process attach --continue '."""
         self.complete_from_to(
@@ -261,7 +301,7 @@ class CommandLineCompletionTestCase(TestBase):
         common_match = match_strings.GetStringAtIndex(0)
         if num_matches == 0:
             compare_string = str_input
-        else: 
+        else:
             if common_match != None and len(common_match) > 0:
                 compare_string = str_input + common_match
             else:
@@ -273,8 +313,8 @@ class CommandLineCompletionTestCase(TestBase):
             if turn_off_re_match:
                 self.expect(
                     compare_string, msg=COMPLETION_MSG(
-                        str_input, p), exe=False, substrs=[p])
+                        str_input, p, match_strings), exe=False, substrs=[p])
             else:
                 self.expect(
                     compare_string, msg=COMPLETION_MSG(
-                        str_input, p), exe=False, patterns=[p])
+                        str_input, p, match_strings), exe=False, patterns=[p])

Modified: vendor/lldb/dist/packages/Python/lldbsuite/test/functionalities/completion/main.cpp
==============================================================================
--- vendor/lldb/dist/packages/Python/lldbsuite/test/functionalities/completion/main.cpp	Thu Aug  2 17:33:50 2018	(r337146)
+++ vendor/lldb/dist/packages/Python/lldbsuite/test/functionalities/completion/main.cpp	Thu Aug  2 17:33:54 2018	(r337147)
@@ -7,8 +7,15 @@ class Foo (public)
     }
 };
 
+struct Container { int MemberVar; };
+
 int main()
 {
-    Foo f;
-    f.Bar(1, 2);
+    Foo fooo;
+    Foo *ptr_fooo = &fooo;
+    fooo.Bar(1, 2);
+
+    Container container;
+    Container *ptr_container = &container;
+    return container.MemberVar = 3; // Break here
 }

Modified: vendor/lldb/dist/packages/Python/lldbsuite/test/functionalities/data-formatter/data-formatter-stl/libcxx/bitset/TestDataFormatterLibcxxBitset.py
==============================================================================
--- vendor/lldb/dist/packages/Python/lldbsuite/test/functionalities/data-formatter/data-formatter-stl/libcxx/bitset/TestDataFormatterLibcxxBitset.py	Thu Aug  2 17:33:50 2018	(r337146)
+++ vendor/lldb/dist/packages/Python/lldbsuite/test/functionalities/data-formatter/data-formatter-stl/libcxx/bitset/TestDataFormatterLibcxxBitset.py	Thu Aug  2 17:33:54 2018	(r337147)
@@ -49,7 +49,7 @@ class TestDataFormatterLibcxxBitset(TestBase):
     def test_ptr_and_ref(self):
         """Test that ref and ptr to std::bitset is displayed correctly"""
         self.build()
-        (_, process, _, bkpt) = lldbutil.run_to_source_breakpoint(self, 
+        (_, process, _, bkpt) = lldbutil.run_to_source_breakpoint(self,
                 'Check ref and ptr',
                 lldb.SBFileSpec("main.cpp", False))
 
@@ -57,6 +57,6 @@ class TestDataFormatterLibcxxBitset(TestBase):
         self.check("ptr", 13)
 
         lldbutil.continue_to_breakpoint(process, bkpt)
-        
+
         self.check("ref", 200)
         self.check("ptr", 200)

Modified: vendor/lldb/dist/packages/Python/lldbsuite/test/functionalities/data-formatter/data-formatter-stl/libcxx/list/TestDataFormatterLibcxxList.py
==============================================================================
--- vendor/lldb/dist/packages/Python/lldbsuite/test/functionalities/data-formatter/data-formatter-stl/libcxx/list/TestDataFormatterLibcxxList.py	Thu Aug  2 17:33:50 2018	(r337146)
+++ vendor/lldb/dist/packages/Python/lldbsuite/test/functionalities/data-formatter/data-formatter-stl/libcxx/list/TestDataFormatterLibcxxList.py	Thu Aug  2 17:33:54 2018	(r337147)
@@ -90,7 +90,7 @@ class LibcxxListDataFormatterTestCase(TestBase):
 
         self.runCmd("n") # This gets up past the printf
         self.runCmd("n") # Now advance over the first push_back.
-        
+
         self.expect("frame variable numbers_list",
                     substrs=['list has 1 items',
                              '[0] = ',

Modified: vendor/lldb/dist/packages/Python/lldbsuite/test/functionalities/data-formatter/data-formatter-stl/libcxx/multiset/TestDataFormatterLibcxxMultiSet.py
==============================================================================
--- vendor/lldb/dist/packages/Python/lldbsuite/test/functionalities/data-formatter/data-formatter-stl/libcxx/multiset/TestDataFormatterLibcxxMultiSet.py	Thu Aug  2 17:33:50 2018	(r337146)
+++ vendor/lldb/dist/packages/Python/lldbsuite/test/functionalities/data-formatter/data-formatter-stl/libcxx/multiset/TestDataFormatterLibcxxMultiSet.py	Thu Aug  2 17:33:54 2018	(r337147)
@@ -134,7 +134,7 @@ class LibcxxMultiSetDataFormatterTestCase(TestBase):
         """Test that the data formatters work on ref and ptr."""
         self.build()
         (self.target, process, _, bkpt) = lldbutil.run_to_source_breakpoint(
-            self, "Stop here to check by ref and ptr.", 
+            self, "Stop here to check by ref and ptr.",
             lldb.SBFileSpec("main.cpp", False))
         # The reference should print just like the value:
         self.check_ii("ref")

Modified: vendor/lldb/dist/packages/Python/lldbsuite/test/functionalities/data-formatter/data-formatter-stl/libcxx/set/TestDataFormatterLibcxxSet.py
==============================================================================
--- vendor/lldb/dist/packages/Python/lldbsuite/test/functionalities/data-formatter/data-formatter-stl/libcxx/set/TestDataFormatterLibcxxSet.py	Thu Aug  2 17:33:50 2018	(r337146)
+++ vendor/lldb/dist/packages/Python/lldbsuite/test/functionalities/data-formatter/data-formatter-stl/libcxx/set/TestDataFormatterLibcxxSet.py	Thu Aug  2 17:33:54 2018	(r337147)
@@ -130,7 +130,7 @@ class LibcxxSetDataFormatterTestCase(TestBase):
         """Test that the data formatters work on ref and ptr."""
         self.build()
         (self.target, process, _, bkpt) = lldbutil.run_to_source_breakpoint(
-            self, "Stop here to check by ref and ptr.", 
+            self, "Stop here to check by ref and ptr.",
             lldb.SBFileSpec("main.cpp", False))
         # The reference should print just like the value:
         self.check_ii("ref")
@@ -139,4 +139,4 @@ class LibcxxSetDataFormatterTestCase(TestBase):
                     substrs=["ptr =", "size=7"])
         self.expect("expr ptr",
                     substrs=["size=7"])
-                    
+

Modified: vendor/lldb/dist/packages/Python/lldbsuite/test/functionalities/data-formatter/data-formatter-stl/libcxx/vector/TestDataFormatterLibcxxVector.py
==============================================================================
--- vendor/lldb/dist/packages/Python/lldbsuite/test/functionalities/data-formatter/data-formatter-stl/libcxx/vector/TestDataFormatterLibcxxVector.py	Thu Aug  2 17:33:50 2018	(r337146)
+++ vendor/lldb/dist/packages/Python/lldbsuite/test/functionalities/data-formatter/data-formatter-stl/libcxx/vector/TestDataFormatterLibcxxVector.py	Thu Aug  2 17:33:54 2018	(r337147)
@@ -192,7 +192,7 @@ class LibcxxVectorDataFormatterTestCase(TestBase):
         self.check_numbers("ref")
 
         # The pointer should just show the right number of elements:
-        
+
         self.expect("frame variable ptr", substrs=['ptr =', ' size=7'])
 
         self.expect("p ptr", substrs=['$', 'size=7'])

Modified: vendor/lldb/dist/packages/Python/lldbsuite/test/functionalities/data-formatter/data-formatter-stl/libstdcpp/tuple/TestDataFormatterStdTuple.py
==============================================================================
--- vendor/lldb/dist/packages/Python/lldbsuite/test/functionalities/data-formatter/data-formatter-stl/libstdcpp/tuple/TestDataFormatterStdTuple.py	Thu Aug  2 17:33:50 2018	(r337146)
+++ vendor/lldb/dist/packages/Python/lldbsuite/test/functionalities/data-formatter/data-formatter-stl/libstdcpp/tuple/TestDataFormatterStdTuple.py	Thu Aug  2 17:33:54 2018	(r337147)
@@ -40,7 +40,7 @@ class StdTupleDataFormatterTestCase(TestBase):
 
         self.assertEqual('"foobar"', frame.GetValueForVariablePath("ts[0]").GetSummary())
         self.assertFalse(frame.GetValueForVariablePath("ts[1]").IsValid())
-        
+
         self.assertEqual(1, frame.GetValueForVariablePath("tt[0]").GetValueAsUnsigned())
         self.assertEqual('"baz"', frame.GetValueForVariablePath("tt[1]").GetSummary())
         self.assertEqual(2, frame.GetValueForVariablePath("tt[2]").GetValueAsUnsigned())

Modified: vendor/lldb/dist/packages/Python/lldbsuite/test/functionalities/exec/TestExec.py
==============================================================================
--- vendor/lldb/dist/packages/Python/lldbsuite/test/functionalities/exec/TestExec.py	Thu Aug  2 17:33:50 2018	(r337146)
+++ vendor/lldb/dist/packages/Python/lldbsuite/test/functionalities/exec/TestExec.py	Thu Aug  2 17:33:54 2018	(r337147)
@@ -96,7 +96,7 @@ class ExecTestCase(TestBase):
         if not skip_exec:
             self.assertTrue(process.GetState() == lldb.eStateStopped,
                             "Process should be stopped at __dyld_start")
-            
+
             threads = lldbutil.get_stopped_threads(
                 process, lldb.eStopReasonExec)
             self.assertTrue(

Modified: vendor/lldb/dist/packages/Python/lldbsuite/test/functionalities/frame-language/TestGuessLanguage.py
==============================================================================
--- vendor/lldb/dist/packages/Python/lldbsuite/test/functionalities/frame-language/TestGuessLanguage.py	Thu Aug  2 17:33:50 2018	(r337146)
+++ vendor/lldb/dist/packages/Python/lldbsuite/test/functionalities/frame-language/TestGuessLanguage.py	Thu Aug  2 17:33:54 2018	(r337147)
@@ -18,7 +18,7 @@ class TestFrameGuessLanguage(TestBase):
 
     mydir = TestBase.compute_mydir(__file__)
 
-    # If your test case doesn't stress debug info, the 
+    # If your test case doesn't stress debug info, the
     # set this to true.  That way it won't be run once for
     # each debug info format.
     NO_DEBUG_INFO_TESTCASE = True
@@ -84,6 +84,6 @@ class TestFrameGuessLanguage(TestBase):
         self.check_language(thread, 0, c_frame_language)
         self.check_language(thread, 1, lldb.eLanguageTypeC_plus_plus)
         self.check_language(thread, 2, lldb.eLanguageTypeC_plus_plus)
-        
-        
+
+
 

Modified: vendor/lldb/dist/packages/Python/lldbsuite/test/functionalities/frame_var/TestFrameVar.py
==============================================================================
--- vendor/lldb/dist/packages/Python/lldbsuite/test/functionalities/frame_var/TestFrameVar.py	Thu Aug  2 17:33:50 2018	(r337146)
+++ vendor/lldb/dist/packages/Python/lldbsuite/test/functionalities/frame_var/TestFrameVar.py	Thu Aug  2 17:33:54 2018	(r337147)
@@ -17,7 +17,7 @@ class TestFrameVar(TestBase):
 
     mydir = TestBase.compute_mydir(__file__)
 
-    # If your test case doesn't stress debug info, the 
+    # If your test case doesn't stress debug info, the
     # set this to true.  That way it won't be run once for
     # each debug info format.
     NO_DEBUG_INFO_TESTCASE = True
@@ -67,7 +67,7 @@ class TestFrameVar(TestBase):
         frame = threads[0].GetFrameAtIndex(0)
         command_result = lldb.SBCommandReturnObject()
         interp = self.dbg.GetCommandInterpreter()
-        
+
         # Just get args:
         result = interp.HandleCommand("frame var -l", command_result)
         self.assertEqual(result, lldb.eReturnStatusSuccessFinishResult, "frame var -a didn't succeed")
@@ -85,7 +85,7 @@ class TestFrameVar(TestBase):
         self.assertTrue("argv" not in output, "Locals found argv")
         self.assertTrue("test_var" in output, "Locals didn't find test_var")
         self.assertTrue("g_var" not in output, "Locals found a global")
-        
+
         # Get the file statics:
         result = interp.HandleCommand("frame var -l -a -g", command_result)
         self.assertEqual(result, lldb.eReturnStatusSuccessFinishResult, "frame var -a didn't succeed")
@@ -94,6 +94,6 @@ class TestFrameVar(TestBase):
         self.assertTrue("argv" not in output, "Globals found argv")
         self.assertTrue("test_var" not in output, "Globals found test_var")
         self.assertTrue("g_var" in output, "Globals didn't find g_var")
-        
-                        
+
+
 

Modified: vendor/lldb/dist/packages/Python/lldbsuite/test/functionalities/gdb_remote_client/TestTargetXMLArch.py
==============================================================================
--- vendor/lldb/dist/packages/Python/lldbsuite/test/functionalities/gdb_remote_client/TestTargetXMLArch.py	Thu Aug  2 17:33:50 2018	(r337146)
+++ vendor/lldb/dist/packages/Python/lldbsuite/test/functionalities/gdb_remote_client/TestTargetXMLArch.py	Thu Aug  2 17:33:54 2018	(r337147)
@@ -98,12 +98,12 @@ class TestTargetXMLArch(GDBRemoteTestBase):
                 return "T05thread:00000001;06:9038d60f00700000;07:98b4062680ffffff;10:c0d7bf1b80ffffff;"
 
             def readRegister(self, register):
-                regs = {0x0: "00b0060000610000", 
-                        0xa: "68fe471c80ffffff", 
-                        0xc: "60574a1c80ffffff", 
-                        0xd: "18f3042680ffffff", 
-                        0xe: "be8a4d7142000000", 
-                        0xf: "50df471c80ffffff", 
+                regs = {0x0: "00b0060000610000",
+                        0xa: "68fe471c80ffffff",
+                        0xc: "60574a1c80ffffff",
+                        0xd: "18f3042680ffffff",
+                        0xe: "be8a4d7142000000",
+                        0xf: "50df471c80ffffff",
                         0x10: "c0d7bf1b80ffffff" }
                 if register in regs:
                     return regs[register]

Modified: vendor/lldb/dist/packages/Python/lldbsuite/test/functionalities/gdb_remote_client/gdbclientutils.py
==============================================================================
--- vendor/lldb/dist/packages/Python/lldbsuite/test/functionalities/gdb_remote_client/gdbclientutils.py	Thu Aug  2 17:33:50 2018	(r337146)
+++ vendor/lldb/dist/packages/Python/lldbsuite/test/functionalities/gdb_remote_client/gdbclientutils.py	Thu Aug  2 17:33:54 2018	(r337147)
@@ -467,7 +467,7 @@ class GDBRemoteTestBase(TestBase):
         i = 0
         j = 0
         log = self.server.responder.packetLog
-        
+
         while i < len(packets) and j < len(log):
             if log[j] == packets[i]:
                 i += 1

Modified: vendor/lldb/dist/packages/Python/lldbsuite/test/functionalities/history/TestHistoryRecall.py
==============================================================================
--- vendor/lldb/dist/packages/Python/lldbsuite/test/functionalities/history/TestHistoryRecall.py	Thu Aug  2 17:33:50 2018	(r337146)
+++ vendor/lldb/dist/packages/Python/lldbsuite/test/functionalities/history/TestHistoryRecall.py	Thu Aug  2 17:33:54 2018	(r337147)
@@ -17,7 +17,7 @@ class TestHistoryRecall(TestBase):
 
     mydir = TestBase.compute_mydir(__file__)
 
-    # If your test case doesn't stress debug info, the 
+    # If your test case doesn't stress debug info, the
     # set this to true.  That way it won't be run once for
     # each debug info format.
     NO_DEBUG_INFO_TESTCASE = True
@@ -35,7 +35,7 @@ class TestHistoryRecall(TestBase):
         result = lldb.SBCommandReturnObject()
         interp.HandleCommand("command history", result, True)
         interp.HandleCommand("platform list", result, True)
-        
+
         interp.HandleCommand("!0", result, False)
         self.assertTrue(result.Succeeded(), "!0 command did not work: %s"%(result.GetError()))
         self.assertTrue("command history" in result.GetOutput(), "!0 didn't rerun command history")

Modified: vendor/lldb/dist/packages/Python/lldbsuite/test/functionalities/load_unload/TestLoadUnload.py
==============================================================================
--- vendor/lldb/dist/packages/Python/lldbsuite/test/functionalities/load_unload/TestLoadUnload.py	Thu Aug  2 17:33:50 2018	(r337146)
+++ vendor/lldb/dist/packages/Python/lldbsuite/test/functionalities/load_unload/TestLoadUnload.py	Thu Aug  2 17:33:54 2018	(r337147)
@@ -20,7 +20,7 @@ class LoadUnloadTestCase(TestBase):
     mydir = TestBase.compute_mydir(__file__)
 
     NO_DEBUG_INFO_TESTCASE = True
-   
+
     def setUp(self):
         # Call super's setUp().
         TestBase.setUp(self)
@@ -210,7 +210,7 @@ class LoadUnloadTestCase(TestBase):
         if not self.platformIsDarwin():
             env_cmd_string += ":" + wd
         self.runCmd(env_cmd_string)
-        
+
         # This time, the hidden library should be picked up.
         self.expect("run", substrs=["return", "12345"])
 

Modified: vendor/lldb/dist/packages/Python/lldbsuite/test/functionalities/load_using_paths/TestLoadUsingPaths.py
==============================================================================
--- vendor/lldb/dist/packages/Python/lldbsuite/test/functionalities/load_using_paths/TestLoadUsingPaths.py	Thu Aug  2 17:33:50 2018	(r337146)
+++ vendor/lldb/dist/packages/Python/lldbsuite/test/functionalities/load_using_paths/TestLoadUsingPaths.py	Thu Aug  2 17:33:54 2018	(r337147)
@@ -20,7 +20,7 @@ class LoadUsingPathsTestCase(TestBase):
     mydir = TestBase.compute_mydir(__file__)
 
     NO_DEBUG_INFO_TESTCASE = True
-   
+
     def setUp(self):
         # Call super's setUp().
         TestBase.setUp(self)
@@ -52,8 +52,8 @@ class LoadUsingPathsTestCase(TestBase):
         # The directory with the dynamic library we did not link to.
         path_dir = os.path.join(self.getBuildDir(), "hidden")
 
-        (target, process, thread, 
-         _) = lldbutil.run_to_source_breakpoint(self, 
+        (target, process, thread,
+         _) = lldbutil.run_to_source_breakpoint(self,
                                                 "Break here to do the load using paths",
                                                 lldb.SBFileSpec("main.cpp"))
         error = lldb.SBError()
@@ -63,18 +63,18 @@ class LoadUsingPathsTestCase(TestBase):
         paths.AppendString(os.path.join(self.wd, "no_such_dir"))
 
         out_spec = lldb.SBFileSpec()
-        
+
         # First try with no correct directories on the path, and make sure that doesn't blow up:
         token = process.LoadImageUsingPaths(lib_spec, paths, out_spec, error)
         self.assertEqual(token, lldb.LLDB_INVALID_IMAGE_TOKEN, "Only looked on the provided path.")
-        
+
         # Now add the correct dir to the paths list and try again:
         paths.AppendString(self.hidden_dir)
         token = process.LoadImageUsingPaths(lib_spec, paths, out_spec, error)
 
         self.assertNotEqual(token, lldb.LLDB_INVALID_IMAGE_TOKEN, "Got a valid token")
         self.assertEqual(out_spec, lldb.SBFileSpec(self.hidden_lib), "Found the expected library")
-        
+
         # Make sure this really is in the image list:
         loaded_module = target.FindModule(out_spec)
 
@@ -89,11 +89,11 @@ class LoadUsingPathsTestCase(TestBase):
         # Make sure the token works to unload it:
         process.UnloadImage(token)
 
-        # Make sure this really is no longer in the image list: 
+        # Make sure this really is no longer in the image list:
         loaded_module = target.FindModule(out_spec)
 
         self.assertFalse(loaded_module.IsValid(), "The unloaded module is no longer in the image list.")
-        
+
         # Make sure a relative path also works:
         paths.Clear()
         paths.AppendString(os.path.join(self.wd, "no_such_dir"))
@@ -107,7 +107,7 @@ class LoadUsingPathsTestCase(TestBase):
         self.assertEqual(out_spec, lldb.SBFileSpec(self.hidden_lib), "Found the expected library with relative path")
 
         process.UnloadImage(token)
-        
+
         # Make sure the presence of an empty path doesn't mess anything up:
         paths.Clear()
         paths.AppendString("")
@@ -122,9 +122,9 @@ class LoadUsingPathsTestCase(TestBase):
         self.assertEqual(out_spec, lldb.SBFileSpec(self.hidden_lib), "Found the expected library with included empty path")
 
         process.UnloadImage(token)
-        
 
 
+
         # Finally, passing in an absolute path should work like the basename:
         # This should NOT work because we've taken hidden_dir off the paths:
         abs_spec = lldb.SBFileSpec(os.path.join(self.hidden_dir, self.lib_name))
@@ -140,4 +140,4 @@ class LoadUsingPathsTestCase(TestBase):
         self.assertNotEqual(token, lldb.LLDB_INVALID_IMAGE_TOKEN, "Got a valid token")
         self.assertEqual(out_spec, lldb.SBFileSpec(self.hidden_lib), "Found the expected library")
 
-                                        
+

Modified: vendor/lldb/dist/packages/Python/lldbsuite/test/functionalities/pre_run_dylibs/TestPreRunDylibs.py
==============================================================================
--- vendor/lldb/dist/packages/Python/lldbsuite/test/functionalities/pre_run_dylibs/TestPreRunDylibs.py	Thu Aug  2 17:33:50 2018	(r337146)
+++ vendor/lldb/dist/packages/Python/lldbsuite/test/functionalities/pre_run_dylibs/TestPreRunDylibs.py	Thu Aug  2 17:33:54 2018	(r337147)
@@ -35,4 +35,4 @@ class TestPreRunLibraries(TestBase):
 
         self.assertTrue(found_it, "Couldn't find unlikely_to_occur_name in loaded libraries.")
 
-            
+

Modified: vendor/lldb/dist/packages/Python/lldbsuite/test/functionalities/register/intel_avx/TestZMMRegister.py
==============================================================================
--- vendor/lldb/dist/packages/Python/lldbsuite/test/functionalities/register/intel_avx/TestZMMRegister.py	Thu Aug  2 17:33:50 2018	(r337146)
+++ vendor/lldb/dist/packages/Python/lldbsuite/test/functionalities/register/intel_avx/TestZMMRegister.py	Thu Aug  2 17:33:54 2018	(r337147)
@@ -81,7 +81,7 @@ class TestYMMRegister(TestBase):
             self.expect(
                 "register read ymm" + str(i),
                 substrs=[pattern])
-        
+
         self.expect("continue", PROCESS_STOPPED, substrs=['stopped'])
 
         # Check stop reason; Should be either signal SIGTRAP or EXC_BREAKPOINT

Modified: vendor/lldb/dist/packages/Python/lldbsuite/test/functionalities/return-value/TestReturnValue.py
==============================================================================
--- vendor/lldb/dist/packages/Python/lldbsuite/test/functionalities/return-value/TestReturnValue.py	Thu Aug  2 17:33:50 2018	(r337146)
+++ vendor/lldb/dist/packages/Python/lldbsuite/test/functionalities/return-value/TestReturnValue.py	Thu Aug  2 17:33:54 2018	(r337147)
@@ -68,7 +68,7 @@ class ReturnValueTestCase(TestBase):
 
         # Run again and we will stop in inner_sint the second time outer_sint is called.
         # Then test stepping out two frames at once:
-        
+
         thread_list = lldbutil.continue_to_breakpoint(self.process, inner_sint_bkpt)
         self.assertTrue(len(thread_list) == 1)
         thread = thread_list[0]

Modified: vendor/lldb/dist/packages/Python/lldbsuite/test/functionalities/thread/create_during_step/TestCreateDuringStep.py
==============================================================================
--- vendor/lldb/dist/packages/Python/lldbsuite/test/functionalities/thread/create_during_step/TestCreateDuringStep.py	Thu Aug  2 17:33:50 2018	(r337146)
+++ vendor/lldb/dist/packages/Python/lldbsuite/test/functionalities/thread/create_during_step/TestCreateDuringStep.py	Thu Aug  2 17:33:54 2018	(r337147)
@@ -90,7 +90,7 @@ class CreateDuringStepTestCase(TestBase):
         target = self.dbg.GetSelectedTarget()
 
         # This should create a breakpoint in the stepping thread.
-        self.bkpt = target.BreakpointCreateByLocation("main.cpp", self.breakpoint) 
+        self.bkpt = target.BreakpointCreateByLocation("main.cpp", self.breakpoint)
 
         # Run the program.
         self.runCmd("run", RUN_SUCCEEDED)

Modified: vendor/lldb/dist/packages/Python/lldbsuite/test/functionalities/thread/num_threads/TestNumThreads.py
==============================================================================
--- vendor/lldb/dist/packages/Python/lldbsuite/test/functionalities/thread/num_threads/TestNumThreads.py	Thu Aug  2 17:33:50 2018	(r337146)
+++ vendor/lldb/dist/packages/Python/lldbsuite/test/functionalities/thread/num_threads/TestNumThreads.py	Thu Aug  2 17:33:54 2018	(r337147)
@@ -92,7 +92,7 @@ class NumberOfThreadsTestCase(TestBase):
         self.assertTrue(
             num_threads >= 10,
             'Number of expected threads and actual threads do not match.')
-        
+
         # Attempt to walk each of the thread's executing the thread3 function to
         # the same breakpoint.
         def is_thread3(thread):

*** DIFF OUTPUT TRUNCATED AT 1000 LINES ***


More information about the svn-src-all mailing list