[Lldb-commits] [lldb] 92a7f6f - [lldb][rpc] Fix bug in convert script for RPC (#145419)

via lldb-commits lldb-commits at lists.llvm.org
Mon Jun 23 15:46:16 PDT 2025


Author: Chelsea Cassanova
Date: 2025-06-23T15:46:12-07:00
New Revision: 92a7f6fbbe489c02bad77a41cf2d4154c3885796

URL: https://github.com/llvm/llvm-project/commit/92a7f6fbbe489c02bad77a41cf2d4154c3885796
DIFF: https://github.com/llvm/llvm-project/commit/92a7f6fbbe489c02bad77a41cf2d4154c3885796.diff

LOG: [lldb][rpc] Fix bug in convert script for RPC (#145419)

In the script that's used by RPC to convert LLDB headers to LLDB RPC
headers, there's a bug with how it converts namespace usage. An
overeager regex pattern caused *all* text before any `lldb::` namespace
usage to get replaced with `lldb_rpc::` instead of just the namespace
itself. This commit changes that regex pattern to be less overeager and
modifies one of the shell tests for this script to actually check that
the namespace usage replacement is working correctly.

rdar://154126268

Added: 
    

Modified: 
    lldb/scripts/convert-lldb-header-to-rpc-header.py
    lldb/test/Shell/RPC/Scripts/TestConvertScript/CheckLLDBEnumerations.test
    lldb/test/Shell/RPC/Scripts/TestConvertScript/Inputs/lldb-enumerations.h

Removed: 
    


################################################################################
diff  --git a/lldb/scripts/convert-lldb-header-to-rpc-header.py b/lldb/scripts/convert-lldb-header-to-rpc-header.py
index d7734280076ff..13b6bed20f778 100755
--- a/lldb/scripts/convert-lldb-header-to-rpc-header.py
+++ b/lldb/scripts/convert-lldb-header-to-rpc-header.py
@@ -27,7 +27,7 @@
 LLDB_NAMESPACE_DEFINITION_REGEX = re.compile(
     r"(?P<comment_marker>//\s*){,1}namespace lldb\s{1}", re.M
 )
-LLDB_NAMESPACE_REGEX = re.compile(r"\s*.+lldb::\s*", re.M)
+LLDB_NAMESPACE_REGEX = re.compile(r"lldb::\s*", re.M)
 
 
 def main():

diff  --git a/lldb/test/Shell/RPC/Scripts/TestConvertScript/CheckLLDBEnumerations.test b/lldb/test/Shell/RPC/Scripts/TestConvertScript/CheckLLDBEnumerations.test
index 0fb3c6f73dd0f..1109086cf731c 100644
--- a/lldb/test/Shell/RPC/Scripts/TestConvertScript/CheckLLDBEnumerations.test
+++ b/lldb/test/Shell/RPC/Scripts/TestConvertScript/CheckLLDBEnumerations.test
@@ -13,5 +13,8 @@ CHECK: #define LLDB_RPC_ENUMERATIONS_H
 # Change the namespace to lldb_rpc. Also, the comment that closes the namespace should match the namespace.
 CHECK: namespace lldb_rpc {} // namespace lldb_rpc
 
+# When the lldb namespace is used, the namespace must be replaced with lldb_rpc.
+CHECK: void dummyFunction(lldb_rpc::addr_t) {}
+
 # The comment that closes the include guard should match the guard.
 CHECK: #endif // LLDB_RPC_ENUMERATIONS_H

diff  --git a/lldb/test/Shell/RPC/Scripts/TestConvertScript/Inputs/lldb-enumerations.h b/lldb/test/Shell/RPC/Scripts/TestConvertScript/Inputs/lldb-enumerations.h
index 42c4bb277fc45..22dd09097d431 100644
--- a/lldb/test/Shell/RPC/Scripts/TestConvertScript/Inputs/lldb-enumerations.h
+++ b/lldb/test/Shell/RPC/Scripts/TestConvertScript/Inputs/lldb-enumerations.h
@@ -11,6 +11,9 @@
 // namespace lldb -> namespace lldb_rpc
 namespace lldb {} // namespace lldb
 
+// When the lldb namespace is used, the namespace must be replaced with lldb_rpc.
+void dummyFunction(lldb::addr_t) {}
+
 // The comment that closes the include guard must change in the same way
 // the original guard did:
 // #endif // LLDB_LLDB_ENUMERATIONS_H -> #endif // LLDB_RPC_ENUMERATIONS_H


        


More information about the lldb-commits mailing list