[Lldb-commits] [PATCH] D133240: [Formatters][NFCI] Replace 'is_regex' arguments with an enum.

2022-09-03 Thread Will Hawkins via Phabricator via lldb-commits
hawkinsw added inline comments.



Comment at: lldb/include/lldb/DataFormatters/FormattersContainer.h:46
   /// just matching by comparing with m_type_name string.
-  bool m_is_regex;
+  lldb::FormatterMatchType m_match_type;
 

I am really intrigued by this entire patchset and just wanted to drop by to 
help, if I could. I hope that I am not upsetting you by commenting on something 
so trivial, but it seems like we would want to change the comment for this data 
member while we are at it?

Again, I think this work is great and I hope I am helping!


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D133240/new/

https://reviews.llvm.org/D133240

___
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits


[Lldb-commits] [PATCH] D133251: [lldb] [Core] Split read thread support into ThreadedCommunication

2022-09-03 Thread Michał Górny via Phabricator via lldb-commits
mgorny created this revision.
mgorny added reviewers: labath, krytarowski, emaste, jingham.
Herald added a subscriber: arichardson.
Herald added a project: All.
mgorny requested review of this revision.

Split the read thread support from Communication into a dedicated
ThreadedCommunication subclass.  The read thread support is used only
by a subset of Communication consumers, and it adds a lot of complexity
to the base class.  Furthermore, having a dedicated subclass makes it
clear whether a particular consumer needs to account for the possibility
of read thread being running or not.

The modules currently calling `StartReadThread()` are updated to use
`ThreadedCommunication`.  The remaining modules use the simplified
`Communication` class.

`SBCommunication` is changed to use `ThreadedCommunication` in order
to avoid changing the public API.

`CommunicationKDP` is updated in order to (hopefully) compile with
the new code.  However, I do not have a Darwin box to test it, so I've
limited the changes to the bare minimum.

`GDBRemoteCommunication` is updated to become a `Broadcaster` directly.
Since it does not inherit from `ThreadedCommunication`, its event
support no longer collides with the one used for read thread and can
be implemented cleanly.  The support for
`eBroadcastBitReadThreadDidExit` is removed from the code -- since
the read thread was not used, this event was never reported.

Sponsored by: The FreeBSD Foundation


https://reviews.llvm.org/D133251

Files:
  lldb/include/lldb/API/SBCommunication.h
  lldb/include/lldb/Core/Communication.h
  lldb/include/lldb/Core/ThreadedCommunication.h
  lldb/include/lldb/Interpreter/ScriptInterpreter.h
  lldb/include/lldb/Target/Process.h
  lldb/include/lldb/lldb-forward.h
  lldb/source/API/SBCommunication.cpp
  lldb/source/Core/CMakeLists.txt
  lldb/source/Core/Communication.cpp
  lldb/source/Plugins/Process/MacOSX-Kernel/CommunicationKDP.cpp
  lldb/source/Plugins/Process/MacOSX-Kernel/CommunicationKDP.h
  lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunication.cpp
  lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunication.h
  lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationServerLLGS.cpp
  lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp
  lldb/source/Plugins/ScriptInterpreter/Python/ScriptInterpreterPython.cpp
  lldb/unittests/Core/CommunicationTest.cpp

Index: lldb/unittests/Core/CommunicationTest.cpp
===
--- lldb/unittests/Core/CommunicationTest.cpp
+++ lldb/unittests/Core/CommunicationTest.cpp
@@ -7,6 +7,7 @@
 //===--===//
 
 #include "lldb/Core/Communication.h"
+#include "lldb/Core/ThreadedCommunication.h"
 #include "lldb/Host/Config.h"
 #include "lldb/Host/ConnectionFileDescriptor.h"
 #include "lldb/Host/Pipe.h"
@@ -37,7 +38,7 @@
   ASSERT_THAT_ERROR(a->Write("test", num_bytes).ToError(), llvm::Succeeded());
   ASSERT_EQ(num_bytes, 4U);
 
-  Communication comm("test");
+  ThreadedCommunication comm("test");
   comm.SetConnection(std::make_unique(b.release()));
   comm.SetCloseOnEOF(true);
 
@@ -118,7 +119,7 @@
   std::unique_ptr a, b;
   ASSERT_TRUE(CreateTCPConnectedSockets("localhost", &a, &b));
 
-  Communication comm("test");
+  ThreadedCommunication comm("test");
   comm.SetConnection(std::make_unique(b.release()));
   comm.SetCloseOnEOF(true);
   ASSERT_TRUE(comm.StartReadThread());
@@ -146,7 +147,7 @@
 
   ConnectionFileDescriptor read_conn{pipe.ReleaseReadFileDescriptor(),
  /*owns_fd=*/true};
-  Communication write_comm("test");
+  Communication write_comm;
   write_comm.SetConnection(
   std::make_unique(write_fd, /*owns_fd=*/true));
 
Index: lldb/source/Plugins/ScriptInterpreter/Python/ScriptInterpreterPython.cpp
===
--- lldb/source/Plugins/ScriptInterpreter/Python/ScriptInterpreterPython.cpp
+++ lldb/source/Plugins/ScriptInterpreter/Python/ScriptInterpreterPython.cpp
@@ -25,9 +25,9 @@
 #include "lldb/API/SBValue.h"
 #include "lldb/Breakpoint/StoppointCallbackContext.h"
 #include "lldb/Breakpoint/WatchpointOptions.h"
-#include "lldb/Core/Communication.h"
 #include "lldb/Core/Debugger.h"
 #include "lldb/Core/PluginManager.h"
+#include "lldb/Core/ThreadedCommunication.h"
 #include "lldb/Core/ValueObject.h"
 #include "lldb/DataFormatters/TypeSummary.h"
 #include "lldb/Host/FileSystem.h"
Index: lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp
===
--- lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp
+++ lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp
@@ -285,14 +285,6 @@
   __FUNCTION__);
   }
 
-  const uint32_t gdb_event_mask = Communication::eBroadcastBitReadThreadDidExit;
-  if (m_async_listener_sp->StartListeningForEvents(
-  &m_gdb_comm, gdb_event_mask) != g

[Lldb-commits] [PATCH] D133130: [lldb][bindings] Fix module_access handling of regex

2022-09-03 Thread Dave Lee via Phabricator via lldb-commits
kastiglione updated this revision to Diff 457804.
kastiglione added a comment.

Add a test for subscripting a target.modules using regex


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D133130/new/

https://reviews.llvm.org/D133130

Files:
  lldb/bindings/interface/SBTarget.i
  lldb/test/API/python_api/target/TestTargetAPI.py


Index: lldb/test/API/python_api/target/TestTargetAPI.py
===
--- lldb/test/API/python_api/target/TestTargetAPI.py
+++ lldb/test/API/python_api/target/TestTargetAPI.py
@@ -2,6 +2,7 @@
 Test SBTarget APIs.
 """
 
+import re
 import unittest2
 import os
 import lldb
@@ -516,3 +517,14 @@
 module = target.GetModuleAtIndex(i)
 self.assertTrue(target.IsLoaded(module), "Running the target 
should "
 "have loaded its modules.")
+
+def test_module_subscript_regex(self):
+"""Exercise SBTarget.module subscripting with regex."""
+self.build()
+exe = self.getBuildArtifact("a.out")
+target = self.dbg.CreateTarget(exe)
+self.assertTrue(target, VALID_TARGET)
+modules = target.module[re.compile(r"/a[.]out$")]
+self.assertEqual(len(modules), 1)
+exe_mod = modules[0]
+self.assertEqual(exe_mod.file.fullpath, exe)
Index: lldb/bindings/interface/SBTarget.i
===
--- lldb/bindings/interface/SBTarget.i
+++ lldb/bindings/interface/SBTarget.i
@@ -1000,10 +1000,10 @@
 
 def __getitem__(self, key):
 num_modules = self.sbtarget.GetNumModules()
-if type(key) is int:
+if isinstance(key, int):
 if key < num_modules:
 return self.sbtarget.GetModuleAtIndex(key)
-elif type(key) is str:
+elif isinstance(key, str):
 if key.find('/') == -1:
 for idx in range(num_modules):
 module = self.sbtarget.GetModuleAtIndex(idx)
@@ -1024,16 +1024,16 @@
 return module
 except:
 return None
-elif type(key) is uuid.UUID:
+elif isinstance(key, uuid.UUID):
 for idx in range(num_modules):
 module = self.sbtarget.GetModuleAtIndex(idx)
 if module.uuid == key:
 return module
-elif type(key) is re.SRE_Pattern:
+elif isinstance(key, re.Pattern):
 matching_modules = []
 for idx in range(num_modules):
 module = self.sbtarget.GetModuleAtIndex(idx)
-re_match = key.search(module.path.fullpath)
+re_match = key.search(module.file.fullpath)
 if re_match:
 matching_modules.append(module)
 return matching_modules


Index: lldb/test/API/python_api/target/TestTargetAPI.py
===
--- lldb/test/API/python_api/target/TestTargetAPI.py
+++ lldb/test/API/python_api/target/TestTargetAPI.py
@@ -2,6 +2,7 @@
 Test SBTarget APIs.
 """
 
+import re
 import unittest2
 import os
 import lldb
@@ -516,3 +517,14 @@
 module = target.GetModuleAtIndex(i)
 self.assertTrue(target.IsLoaded(module), "Running the target should "
 "have loaded its modules.")
+
+def test_module_subscript_regex(self):
+"""Exercise SBTarget.module subscripting with regex."""
+self.build()
+exe = self.getBuildArtifact("a.out")
+target = self.dbg.CreateTarget(exe)
+self.assertTrue(target, VALID_TARGET)
+modules = target.module[re.compile(r"/a[.]out$")]
+self.assertEqual(len(modules), 1)
+exe_mod = modules[0]
+self.assertEqual(exe_mod.file.fullpath, exe)
Index: lldb/bindings/interface/SBTarget.i
===
--- lldb/bindings/interface/SBTarget.i
+++ lldb/bindings/interface/SBTarget.i
@@ -1000,10 +1000,10 @@
 
 def __getitem__(self, key):
 num_modules = self.sbtarget.GetNumModules()
-if type(key) is int:
+if isinstance(key, int):
 if key < num_modules:
 return self.sbtarget.GetModuleAtIndex(key)
-elif type(key) is str:
+elif isinstance(key, str):
 if key.find('/') == -1:
 for idx in range(num_modules):
 module = self.sbtarget.GetModuleAtIndex(idx)
@@ -1024,16 +1024,16 @@
 return module
 excep

[Lldb-commits] [PATCH] D133130: [lldb][bindings] Fix module_access handling of regex

2022-09-03 Thread Dave Lee via Phabricator via lldb-commits
This revision was landed with ongoing or failed builds.
This revision was automatically updated to reflect the committed changes.
Closed by commit rG75f05fccbbdd: [lldb][bindings] Fix module_access handling of 
regex (authored by kastiglione).

Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D133130/new/

https://reviews.llvm.org/D133130

Files:
  lldb/bindings/interface/SBTarget.i
  lldb/test/API/python_api/target/TestTargetAPI.py


Index: lldb/test/API/python_api/target/TestTargetAPI.py
===
--- lldb/test/API/python_api/target/TestTargetAPI.py
+++ lldb/test/API/python_api/target/TestTargetAPI.py
@@ -2,6 +2,7 @@
 Test SBTarget APIs.
 """
 
+import re
 import unittest2
 import os
 import lldb
@@ -516,3 +517,14 @@
 module = target.GetModuleAtIndex(i)
 self.assertTrue(target.IsLoaded(module), "Running the target 
should "
 "have loaded its modules.")
+
+def test_module_subscript_regex(self):
+"""Exercise SBTarget.module subscripting with regex."""
+self.build()
+exe = self.getBuildArtifact("a.out")
+target = self.dbg.CreateTarget(exe)
+self.assertTrue(target, VALID_TARGET)
+modules = target.module[re.compile(r"/a[.]out$")]
+self.assertEqual(len(modules), 1)
+exe_mod = modules[0]
+self.assertEqual(exe_mod.file.fullpath, exe)
Index: lldb/bindings/interface/SBTarget.i
===
--- lldb/bindings/interface/SBTarget.i
+++ lldb/bindings/interface/SBTarget.i
@@ -1000,10 +1000,10 @@
 
 def __getitem__(self, key):
 num_modules = self.sbtarget.GetNumModules()
-if type(key) is int:
+if isinstance(key, int):
 if key < num_modules:
 return self.sbtarget.GetModuleAtIndex(key)
-elif type(key) is str:
+elif isinstance(key, str):
 if key.find('/') == -1:
 for idx in range(num_modules):
 module = self.sbtarget.GetModuleAtIndex(idx)
@@ -1024,16 +1024,16 @@
 return module
 except:
 return None
-elif type(key) is uuid.UUID:
+elif isinstance(key, uuid.UUID):
 for idx in range(num_modules):
 module = self.sbtarget.GetModuleAtIndex(idx)
 if module.uuid == key:
 return module
-elif type(key) is re.SRE_Pattern:
+elif isinstance(key, re.Pattern):
 matching_modules = []
 for idx in range(num_modules):
 module = self.sbtarget.GetModuleAtIndex(idx)
-re_match = key.search(module.path.fullpath)
+re_match = key.search(module.file.fullpath)
 if re_match:
 matching_modules.append(module)
 return matching_modules


Index: lldb/test/API/python_api/target/TestTargetAPI.py
===
--- lldb/test/API/python_api/target/TestTargetAPI.py
+++ lldb/test/API/python_api/target/TestTargetAPI.py
@@ -2,6 +2,7 @@
 Test SBTarget APIs.
 """
 
+import re
 import unittest2
 import os
 import lldb
@@ -516,3 +517,14 @@
 module = target.GetModuleAtIndex(i)
 self.assertTrue(target.IsLoaded(module), "Running the target should "
 "have loaded its modules.")
+
+def test_module_subscript_regex(self):
+"""Exercise SBTarget.module subscripting with regex."""
+self.build()
+exe = self.getBuildArtifact("a.out")
+target = self.dbg.CreateTarget(exe)
+self.assertTrue(target, VALID_TARGET)
+modules = target.module[re.compile(r"/a[.]out$")]
+self.assertEqual(len(modules), 1)
+exe_mod = modules[0]
+self.assertEqual(exe_mod.file.fullpath, exe)
Index: lldb/bindings/interface/SBTarget.i
===
--- lldb/bindings/interface/SBTarget.i
+++ lldb/bindings/interface/SBTarget.i
@@ -1000,10 +1000,10 @@
 
 def __getitem__(self, key):
 num_modules = self.sbtarget.GetNumModules()
-if type(key) is int:
+if isinstance(key, int):
 if key < num_modules:
 return self.sbtarget.GetModuleAtIndex(key)
-elif type(key) is str:
+elif isinstance(key, str):
 if key.find('/') == -1:
 for idx in range(num_modules):
 module = self.sbtarget.GetModuleAtIndex(

[Lldb-commits] [lldb] 75f05fc - [lldb][bindings] Fix module_access handling of regex

2022-09-03 Thread Dave Lee via lldb-commits

Author: Dave Lee
Date: 2022-09-03T10:33:26-07:00
New Revision: 75f05fccbbdd91393bdc7b6183b9dd2b1e859f8e

URL: 
https://github.com/llvm/llvm-project/commit/75f05fccbbdd91393bdc7b6183b9dd2b1e859f8e
DIFF: 
https://github.com/llvm/llvm-project/commit/75f05fccbbdd91393bdc7b6183b9dd2b1e859f8e.diff

LOG: [lldb][bindings] Fix module_access handling of regex

Fixes broken support for: `target.module[re.compile("libFoo")]`

There were two issues:
1. The type check was expecting `re.SRE_Pattern`
2. The expression to search the module path had a typo

In the first case, `re.SRE_Pattern` does not exist in Python 3, and is replaced
with `re.Pattern`.

While editing this code, I changed the type checks to us `isinstance`, which is
the conventional way of type checking.

>From the docs on `type()`:

> The `isinstance()` built-in function is recommended for testing the type of 
> an object, because it takes subclasses into account.

Differential Revision: https://reviews.llvm.org/D133130

Added: 


Modified: 
lldb/bindings/interface/SBTarget.i
lldb/test/API/python_api/target/TestTargetAPI.py

Removed: 




diff  --git a/lldb/bindings/interface/SBTarget.i 
b/lldb/bindings/interface/SBTarget.i
index a6a764944d02e..7eee99e54848d 100644
--- a/lldb/bindings/interface/SBTarget.i
+++ b/lldb/bindings/interface/SBTarget.i
@@ -1000,10 +1000,10 @@ public:
 
 def __getitem__(self, key):
 num_modules = self.sbtarget.GetNumModules()
-if type(key) is int:
+if isinstance(key, int):
 if key < num_modules:
 return self.sbtarget.GetModuleAtIndex(key)
-elif type(key) is str:
+elif isinstance(key, str):
 if key.find('/') == -1:
 for idx in range(num_modules):
 module = self.sbtarget.GetModuleAtIndex(idx)
@@ -1024,16 +1024,16 @@ public:
 return module
 except:
 return None
-elif type(key) is uuid.UUID:
+elif isinstance(key, uuid.UUID):
 for idx in range(num_modules):
 module = self.sbtarget.GetModuleAtIndex(idx)
 if module.uuid == key:
 return module
-elif type(key) is re.SRE_Pattern:
+elif isinstance(key, re.Pattern):
 matching_modules = []
 for idx in range(num_modules):
 module = self.sbtarget.GetModuleAtIndex(idx)
-re_match = key.search(module.path.fullpath)
+re_match = key.search(module.file.fullpath)
 if re_match:
 matching_modules.append(module)
 return matching_modules

diff  --git a/lldb/test/API/python_api/target/TestTargetAPI.py 
b/lldb/test/API/python_api/target/TestTargetAPI.py
index 0b2514416bede..e575f30508e09 100644
--- a/lldb/test/API/python_api/target/TestTargetAPI.py
+++ b/lldb/test/API/python_api/target/TestTargetAPI.py
@@ -2,6 +2,7 @@
 Test SBTarget APIs.
 """
 
+import re
 import unittest2
 import os
 import lldb
@@ -516,3 +517,14 @@ def test_is_loaded(self):
 module = target.GetModuleAtIndex(i)
 self.assertTrue(target.IsLoaded(module), "Running the target 
should "
 "have loaded its modules.")
+
+def test_module_subscript_regex(self):
+"""Exercise SBTarget.module subscripting with regex."""
+self.build()
+exe = self.getBuildArtifact("a.out")
+target = self.dbg.CreateTarget(exe)
+self.assertTrue(target, VALID_TARGET)
+modules = target.module[re.compile(r"/a[.]out$")]
+self.assertEqual(len(modules), 1)
+exe_mod = modules[0]
+self.assertEqual(exe_mod.file.fullpath, exe)



___
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits


[Lldb-commits] [PATCH] D117383: [lldb] Expose std::pair children for unordered_map

2022-09-03 Thread Dave Lee via Phabricator via lldb-commits
kastiglione added inline comments.



Comment at: lldb/source/Plugins/Language/CPlusPlus/LibCxxUnorderedMap.cpp:74
+  if (name.consume_front("std::"))
+name.consume_front("__1::");
+  return name.consume_front(type) && name.startswith("<");

rsmith wrote:
> This is not right -- libc++ allows customizing its inline namespace name for 
> versioning purpose; it's not `__1` across all deployments. For example, with 
> the libc++ unstable ABI, it will likely be something else. To handle this 
> properly I think you'll need to look for either `std::name<` or something 
> like `std::[a-zA-Z0-9_]*::name<`.
thanks. Looks like `CPPLanguageRuntime.cpp` has makes some similar assumptions.


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D117383/new/

https://reviews.llvm.org/D117383

___
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits


[Lldb-commits] [PATCH] D133259: [lldb] Don't assume name of libc++ inline namespace in LibCxxUnorderedMap

2022-09-03 Thread Dave Lee via Phabricator via lldb-commits
kastiglione created this revision.
kastiglione added a reviewer: rsmith.
Herald added a project: All.
kastiglione requested review of this revision.
Herald added a project: LLDB.
Herald added a subscriber: lldb-commits.

Follow up to D117383 , fixing the assumption 
that libc++ always uses `__1` as
its inline namespace name.


Repository:
  rG LLVM Github Monorepo

https://reviews.llvm.org/D133259

Files:
  lldb/source/Plugins/Language/CPlusPlus/LibCxxUnorderedMap.cpp


Index: lldb/source/Plugins/Language/CPlusPlus/LibCxxUnorderedMap.cpp
===
--- lldb/source/Plugins/Language/CPlusPlus/LibCxxUnorderedMap.cpp
+++ lldb/source/Plugins/Language/CPlusPlus/LibCxxUnorderedMap.cpp
@@ -69,9 +69,17 @@
 
 static bool isStdTemplate(ConstString type_name, llvm::StringRef type) {
   llvm::StringRef name = type_name.GetStringRef();
-  // The type name may or may not be prefixed with `std::` or `std::__1::`.
-  if (name.consume_front("std::"))
-name.consume_front("__1::");
+  // The type name may be prefixed with `std`.
+  if (name.consume_front("std::")) {
+// Delete past the inline namespace: [a-zA-Z0-9_]+::
+auto ident_end =
+name.find_if_not([](char c) { return std::isalnum(c) || c == '_'; });
+if (ident_end != llvm::StringRef::npos && ident_end >= 1) {
+  auto temp = name.drop_front(ident_end);
+  if (temp.consume_front("::"))
+name = temp;
+}
+  }
   return name.consume_front(type) && name.startswith("<");
 }
 


Index: lldb/source/Plugins/Language/CPlusPlus/LibCxxUnorderedMap.cpp
===
--- lldb/source/Plugins/Language/CPlusPlus/LibCxxUnorderedMap.cpp
+++ lldb/source/Plugins/Language/CPlusPlus/LibCxxUnorderedMap.cpp
@@ -69,9 +69,17 @@
 
 static bool isStdTemplate(ConstString type_name, llvm::StringRef type) {
   llvm::StringRef name = type_name.GetStringRef();
-  // The type name may or may not be prefixed with `std::` or `std::__1::`.
-  if (name.consume_front("std::"))
-name.consume_front("__1::");
+  // The type name may be prefixed with `std`.
+  if (name.consume_front("std::")) {
+// Delete past the inline namespace: [a-zA-Z0-9_]+::
+auto ident_end =
+name.find_if_not([](char c) { return std::isalnum(c) || c == '_'; });
+if (ident_end != llvm::StringRef::npos && ident_end >= 1) {
+  auto temp = name.drop_front(ident_end);
+  if (temp.consume_front("::"))
+name = temp;
+}
+  }
   return name.consume_front(type) && name.startswith("<");
 }
 
___
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits


[Lldb-commits] [PATCH] D117383: [lldb] Expose std::pair children for unordered_map

2022-09-03 Thread Dave Lee via Phabricator via lldb-commits
kastiglione added inline comments.



Comment at: lldb/source/Plugins/Language/CPlusPlus/LibCxxUnorderedMap.cpp:74
+  if (name.consume_front("std::"))
+name.consume_front("__1::");
+  return name.consume_front(type) && name.startswith("<");

kastiglione wrote:
> rsmith wrote:
> > This is not right -- libc++ allows customizing its inline namespace name 
> > for versioning purpose; it's not `__1` across all deployments. For example, 
> > with the libc++ unstable ABI, it will likely be something else. To handle 
> > this properly I think you'll need to look for either `std::name<` or 
> > something like `std::[a-zA-Z0-9_]*::name<`.
> thanks. Looks like `CPPLanguageRuntime.cpp` has makes some similar 
> assumptions.
D133259


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D117383/new/

https://reviews.llvm.org/D117383

___
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits