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 _______________________________________________ lldb-commits mailing list lldb-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits