llvmbot wrote:

<!--LLVM PR SUMMARY COMMENT-->

@llvm/pr-subscribers-lldb

Author: Chelsea Cassanova (chelcassanova)

<details>
<summary>Changes</summary>

Reverts llvm/llvm-project#<!-- -->147417. Failing an assert:
`lldb-rpc-gen: 
../llvm-project/lldb/tools/lldb-rpc/lldb-rpc-gen/server/RPCServerSourceEmitter.cpp:361:
 void lldb_rpc_gen::RPCServerSourceEmitter::EmitMethodCallAndEncode(const 
Method &amp;): Assertion `Pos != MethodsWithPointerReturnTypes.end() &amp;&amp; 
"Unable to determine the size of the return buffer"' failed.`

---

Patch is 40.64 KiB, truncated to 20.00 KiB below, full version: 
https://github.com/llvm/llvm-project/pull/147779.diff


15 Files Affected:

- (modified) lldb/cmake/modules/LLDBConfig.cmake (-2) 
- (modified) lldb/test/CMakeLists.txt (+1-6) 
- (removed) lldb/test/Shell/RPC/Generator/Inputs/SBDummy.h () 
- (removed) lldb/test/Shell/RPC/Generator/Tests/CheckRPCGenToolByproducts.test 
(-9) 
- (removed) lldb/test/Shell/RPC/Generator/lit.local.cfg (-3) 
- (modified) lldb/test/Shell/helper/toolchain.py (-10) 
- (modified) lldb/test/Shell/lit.site.cfg.py.in (-1) 
- (modified) lldb/tools/CMakeLists.txt (-3) 
- (removed) lldb/tools/lldb-rpc/CMakeLists.txt (-22) 
- (removed) lldb/tools/lldb-rpc/LLDBRPCGeneration.cmake (-75) 
- (removed) lldb/tools/lldb-rpc/LLDBRPCHeaders.cmake (-101) 
- (removed) lldb/tools/lldb-rpc/lldb-rpc-gen/CMakeLists.txt (-23) 
- (removed) lldb/tools/lldb-rpc/lldb-rpc-gen/RPCCommon.cpp (-501) 
- (removed) lldb/tools/lldb-rpc/lldb-rpc-gen/RPCCommon.h (-108) 
- (modified) lldb/tools/lldb-rpc/lldb-rpc-gen/lldb-rpc-gen.cpp (+14-22) 


``````````diff
diff --git a/lldb/cmake/modules/LLDBConfig.cmake 
b/lldb/cmake/modules/LLDBConfig.cmake
index f674c29682160..8c30b6e09d2c7 100644
--- a/lldb/cmake/modules/LLDBConfig.cmake
+++ b/lldb/cmake/modules/LLDBConfig.cmake
@@ -323,6 +323,4 @@ else()
     set(LLDB_CAN_USE_DEBUGSERVER OFF)
 endif()
 
-set(LLDB_BUILD_LLDBRPC ON CACHE BOOL "")
-
 include(LLDBGenerateConfig)
diff --git a/lldb/test/CMakeLists.txt b/lldb/test/CMakeLists.txt
index 7cf239c7f95ab..6449ac5a9247f 100644
--- a/lldb/test/CMakeLists.txt
+++ b/lldb/test/CMakeLists.txt
@@ -132,10 +132,6 @@ if(TARGET lldb-framework)
   add_lldb_test_dependency(lldb-framework)
 endif()
 
-if (LLDB_BUILD_LLDBRPC)
-  add_lldb_test_dependency(lldb-rpc-generate-sources)
-endif()
-
 # Add dependencies that are not exported targets when building standalone.
 if(NOT LLDB_BUILT_STANDALONE)
   add_lldb_test_dependency(
@@ -253,8 +249,7 @@ llvm_canonicalize_cmake_booleans(
   LLDB_TEST_SHELL_DISABLE_REMOTE
   LLDB_TOOL_LLDB_SERVER_BUILD
   LLDB_USE_SYSTEM_DEBUGSERVER
-  LLDB_IS_64_BITS
-  LLDB_BUILD_LLDBRPC)
+  LLDB_IS_64_BITS)
 
 # Configure the individual test suites.
 add_subdirectory(API)
diff --git a/lldb/test/Shell/RPC/Generator/Inputs/SBDummy.h 
b/lldb/test/Shell/RPC/Generator/Inputs/SBDummy.h
deleted file mode 100644
index e69de29bb2d1d..0000000000000
diff --git a/lldb/test/Shell/RPC/Generator/Tests/CheckRPCGenToolByproducts.test 
b/lldb/test/Shell/RPC/Generator/Tests/CheckRPCGenToolByproducts.test
deleted file mode 100644
index 15fcf8fb39c7d..0000000000000
--- a/lldb/test/Shell/RPC/Generator/Tests/CheckRPCGenToolByproducts.test
+++ /dev/null
@@ -1,9 +0,0 @@
-RUN: %lldb-rpc-gen --output-dir=%t %S/../Inputs/SBDummy.h
-
-RUN: ls %t | FileCheck %s
-
-# We're just making sure that the tool emits the class names,
-# methods and skipped methods file in the output directory.
-CHECK: SBAPI.def
-CHECK: SBClasses.def
-CHECK: SkippedMethods.txt
diff --git a/lldb/test/Shell/RPC/Generator/lit.local.cfg 
b/lldb/test/Shell/RPC/Generator/lit.local.cfg
deleted file mode 100644
index db9494781c00c..0000000000000
--- a/lldb/test/Shell/RPC/Generator/lit.local.cfg
+++ /dev/null
@@ -1,3 +0,0 @@
-# All tests for the tool need lldb-rpc-gen to be built.
-if not config.lldb_has_lldbrpc:
-   config.unsupported = True
diff --git a/lldb/test/Shell/helper/toolchain.py 
b/lldb/test/Shell/helper/toolchain.py
index 728f6347242f1..42968128f2702 100644
--- a/lldb/test/Shell/helper/toolchain.py
+++ b/lldb/test/Shell/helper/toolchain.py
@@ -156,16 +156,6 @@ def use_lldb_substitutions(config):
             extra_args=["platform"],
             unresolved="ignore",
         ),
-        ToolSubst(
-            "%lldb-rpc-gen",
-            command=FindTool("lldb-rpc-gen"),
-            # We need the LLDB build directory root to pass into the tool, not 
the test build root.
-            extra_args=[
-                "-p " + config.lldb_build_directory + "/..",
-                '--extra-arg="-resource-dir=' + config.clang_resource_dir + 
'"',
-            ],
-            unresolved="ignore",
-        ),
         "lldb-test",
         "lldb-dap",
         ToolSubst(
diff --git a/lldb/test/Shell/lit.site.cfg.py.in 
b/lldb/test/Shell/lit.site.cfg.py.in
index beaa41e6fd379..5be5359217769 100644
--- a/lldb/test/Shell/lit.site.cfg.py.in
+++ b/lldb/test/Shell/lit.site.cfg.py.in
@@ -33,7 +33,6 @@ config.lldb_build_directory = "@LLDB_TEST_BUILD_DIRECTORY@"
 config.have_lldb_server = @LLDB_TOOL_LLDB_SERVER_BUILD@
 config.lldb_system_debugserver = @LLDB_USE_SYSTEM_DEBUGSERVER@
 config.llvm_use_sanitizer = "@LLVM_USE_SANITIZER@"
-config.lldb_has_lldbrpc = @LLDB_BUILD_LLDBRPC@
 # The shell tests use their own module caches.
 config.lldb_module_cache = os.path.join("@LLDB_TEST_MODULE_CACHE_LLDB@", 
"lldb-shell")
 config.clang_module_cache = os.path.join("@LLDB_TEST_MODULE_CACHE_CLANG@", 
"lldb-shell")
diff --git a/lldb/tools/CMakeLists.txt b/lldb/tools/CMakeLists.txt
index 73ffbbbee3056..6804dc234555b 100644
--- a/lldb/tools/CMakeLists.txt
+++ b/lldb/tools/CMakeLists.txt
@@ -10,9 +10,6 @@ add_subdirectory(lldb-fuzzer EXCLUDE_FROM_ALL)
 
 add_lldb_tool_subdirectory(lldb-instr)
 add_lldb_tool_subdirectory(lldb-dap)
-if (LLDB_BUILD_LLDBRPC)
-  add_lldb_tool_subdirectory(lldb-rpc)
-endif()
 
 if (CMAKE_SYSTEM_NAME MATCHES "Darwin")
   add_lldb_tool_subdirectory(darwin-debug)
diff --git a/lldb/tools/lldb-rpc/CMakeLists.txt 
b/lldb/tools/lldb-rpc/CMakeLists.txt
deleted file mode 100644
index fdd6cf9163e96..0000000000000
--- a/lldb/tools/lldb-rpc/CMakeLists.txt
+++ /dev/null
@@ -1,22 +0,0 @@
-include(CheckCXXCompilerFlag)
-# Umbrella target for the entire framework is a default target.
-add_custom_target(lldb-rpc ALL)
-
-if(LLDB_CODESIGN_IDENTITY)
-  # Use explicit LLDB identity
-  set(LLVM_CODESIGNING_IDENTITY ${LLDB_CODESIGN_IDENTITY})
-else()
-  # Use explicit LLVM identity or default to ad-hoc signing if empty
-  if(NOT LLVM_CODESIGNING_IDENTITY)
-    set(LLVM_CODESIGNING_IDENTITY -)
-  endif()
-endif()
-
-# LLDBRPCGeneration.cmake needs the LLDB_RPC_GEN_EXE variable
-# which gets defined in the lldb-rpc-gen folder, so we're adding
-# this folder before we add that file.
-add_lldb_tool_subdirectory(lldb-rpc-gen)
-include(${CMAKE_CURRENT_SOURCE_DIR}/LLDBRPCGeneration.cmake)
-include(${CMAKE_CURRENT_SOURCE_DIR}/LLDBRPCHeaders.cmake)
-
-add_dependencies(lldb-rpc lldb-rpc-generate-sources liblldbrpc-headers)
diff --git a/lldb/tools/lldb-rpc/LLDBRPCGeneration.cmake 
b/lldb/tools/lldb-rpc/LLDBRPCGeneration.cmake
deleted file mode 100644
index ca73c546d781f..0000000000000
--- a/lldb/tools/lldb-rpc/LLDBRPCGeneration.cmake
+++ /dev/null
@@ -1,75 +0,0 @@
-if (NOT DEFINED LLDB_RPC_GEN_EXE)
-  message(FATAL_ERROR
-    "Unable to generate lldb-rpc sources because LLDB_RPC_GEN_EXE is not
-    defined. If you are cross-compiling, please build lldb-rpc-gen for your 
host
-    platform.")
-endif()
-set(lldb_rpc_generated_dir "${CMAKE_CURRENT_BINARY_DIR}/generated")
-set(lldb_rpc_server_generated_source_dir "${lldb_rpc_generated_dir}/server")
-
-file(GLOB api_headers ${LLDB_SOURCE_DIR}/include/lldb/API/SB*.h)
-# We don't generate SBCommunication
-list(REMOVE_ITEM api_headers 
${LLDB_SOURCE_DIR}/include/lldb/API/SBCommunication.h)
-# SBDefines.h is mostly definitions and forward declarations, nothing to
-# generate.
-list(REMOVE_ITEM api_headers ${LLDB_SOURCE_DIR}/include/lldb/API/SBDefines.h)
-
-# Generate the list of byproducts. Note that we cannot just glob the files in
-# the directory with the generated sources because BYPRODUCTS needs to be known
-# at configure time but the files are generated at build time.
-set(lldb_rpc_gen_byproducts
-  ${lldb_rpc_generated_dir}/SBClasses.def
-  ${lldb_rpc_generated_dir}/SBAPI.def
-  ${lldb_rpc_generated_dir}/lldb.py
-  ${lldb_rpc_server_generated_source_dir}/SBAPI.h
-)
-
-set(lldb_rpc_gen_server_impl_files)
-foreach(path ${api_headers})
-  get_filename_component(filename_no_ext ${path} NAME_WLE)
-
-  set(server_header_file "Server_${filename_no_ext}.h")
-  list(APPEND lldb_rpc_gen_byproducts 
"${lldb_rpc_server_generated_source_dir}/${server_header_file}")
-
-  set(server_impl_file "Server_${filename_no_ext}.cpp")
-  list(APPEND lldb_rpc_gen_byproducts 
"${lldb_rpc_server_generated_source_dir}/${server_impl_file}")
-  list(APPEND lldb_rpc_gen_server_impl_files 
"${lldb_rpc_server_generated_source_dir}/${server_impl_file}")
-
-endforeach()
-
-# Make sure that the clang-resource-dir is set correctly or else the tool will
-# fail to run. This is only needed when we do a standalone build.
-set(clang_resource_dir_arg)
-if (TARGET clang-resource-headers)
-  set(clang_resource_headers_dir
-    $<TARGET_PROPERTY:clang-resource-headers,INTERFACE_INCLUDE_DIRECTORIES>)
-  set(clang_resource_dir_arg 
--extra-arg="-resource-dir=${clang_resource_headers_dir}/..")
-else()
-  set(clang_resource_dir_arg 
--extra-arg="-resource-dir=${LLDB_EXTERNAL_CLANG_RESOURCE_DIR}")
-endif()
-
-add_custom_command(OUTPUT ${lldb_rpc_gen_byproducts}
-  COMMAND ${CMAKE_COMMAND} -E make_directory
-    ${lldb_rpc_generated_dir}
-
-  COMMAND ${CMAKE_COMMAND} -E make_directory
-    ${lldb_rpc_server_generated_source_dir}
-
-  COMMAND ${LLDB_RPC_GEN_EXE}
-    -p ${CMAKE_BINARY_DIR}
-    --output-dir=${lldb_rpc_generated_dir}
-    ${clang_resource_dir_arg}
-    --extra-arg="-USWIG"
-    ${api_headers}
-
-  DEPENDS ${LLDB_RPC_GEN_EXE} ${api_headers}
-  COMMENT "Generating sources for lldb-rpc-server..."
-  WORKING_DIRECTORY ${CMAKE_BINARY_DIR}
-)
-
-add_custom_target(lldb-rpc-generate-sources
-  DEPENDS
-    ${lldb_rpc_gen_byproducts}
-    lldb-sbapi-dwarf-enums)
-
-add_dependencies(lldb-rpc-generate-sources clang-resource-headers)
diff --git a/lldb/tools/lldb-rpc/LLDBRPCHeaders.cmake 
b/lldb/tools/lldb-rpc/LLDBRPCHeaders.cmake
deleted file mode 100644
index 97ad481140248..0000000000000
--- a/lldb/tools/lldb-rpc/LLDBRPCHeaders.cmake
+++ /dev/null
@@ -1,101 +0,0 @@
-set(derived_headers_location "${CMAKE_CURRENT_BINARY_DIR}/DerivedHeaders")
-
-# Obtain the original headers from their staged location in the build 
directory.
-set(original_headers_location "${CMAKE_BINARY_DIR}/include/lldb")
-set(headers_to_process
-  SBDefines.h
-  lldb-defines.h
-  lldb-enumerations.h
-  lldb-types.h
-)
-
-file(MAKE_DIRECTORY ${derived_headers_location})
-
-# Take the original headers and convert them RPC as necessary using the 
conversion script.
-set(original_headers)
-set(derived_headers)
-foreach(header ${headers_to_process})
-  set(original_header "${original_headers_location}/${header}")
-
-  get_filename_component(header_filename ${header} NAME)
-  string(REPLACE "lldb-" "lldb-rpc-" rpc_header_filename "${header_filename}")
-  set(derived_header "${derived_headers_location}/${rpc_header_filename}")
-
-  list(APPEND original_headers "${original_header}")
-  list(APPEND derived_headers "${derived_header}")
-  add_custom_command(OUTPUT ${derived_header}
-    COMMAND ${Python3_EXECUTABLE} 
${LLDB_SOURCE_DIR}/scripts/convert-lldb-header-to-rpc-header.py
-            ${original_header} ${derived_header}
-    DEPENDS ${original_header}
-
-    COMMENT "Creating ${derived_header}"
-  )
-endforeach()
-
-# Do the same thing for any header files that were autogenerated.
-set(generated_headers_to_process
-  API/SBLanguages.h
-)
-foreach(header ${generated_headers_to_process})
-  set(original_header "${LLDB_OBJ_DIR}/include/lldb/${header}")
-
-  get_filename_component(header_filename ${header} NAME)
-  string(REPLACE "lldb-" "lldb-rpc-" rpc_header_filename "${header_filename}")
-  set(derived_header "${derived_headers_location}/${rpc_header_filename}")
-
-  list(APPEND original_headers "${original_header}")
-  list(APPEND derived_headers "${derived_header}")
-  add_custom_command(OUTPUT ${derived_header}
-    COMMAND ${CMAKE_COMMAND} -E copy ${original_header} ${derived_header}
-    COMMAND ${Python3_EXECUTABLE} 
${LLDB_SOURCE_DIR}/scripts/convert-lldb-header-to-rpc-header.py
-            ${original_header} ${derived_header}
-    DEPENDS lldb-sbapi-dwarf-enums
-
-    COMMENT "Creating ${derived_header}"
-  )
-endforeach()
-
-add_custom_target(copy-aux-rpc-headers DEPENDS ${derived_headers})
-add_dependencies(copy-aux-rpc-headers liblldb-header-staging)
-
-list(APPEND public_headers
-  ${derived_headers_location}/SBDefines.h
-  ${derived_headers_location}/SBLanguages.h
-  ${derived_headers_location}/lldb-rpc-enumerations.h
-  ${derived_headers_location}/lldb-rpc-types.h
-  ${derived_headers_location}/lldb-rpc-defines.h
-)
-
-# Collect and preprocess headers for the framework bundle
-set(version_header
-  ${derived_headers_location}/lldb-rpc-defines.h
-)
-
-function(FixIncludePaths in subfolder out)
-  get_filename_component(base_name ${in} NAME)
-  set(parked_header 
${CMAKE_CURRENT_BINARY_DIR}/ParkedHeaders/${subfolder}/${base_name})
-  set(${out} ${parked_header} PARENT_SCOPE)
-  find_program(unifdef_EXECUTABLE unifdef)
-
-  add_custom_command(OUTPUT ${parked_header}
-    COMMAND ${LLDB_SOURCE_DIR}/scripts/framework-header-fix.py
-            -f lldb_rpc -i ${in} -o ${parked_header} -p ${unifdef_EXECUTABLE} 
USWIG
-    DEPENDS ${in}
-    COMMENT "Fixing includes in ${in}"
-  )
-endfunction()
-
-set(preprocessed_headers)
-
-# Apply include-paths fix and any version fix on all headers and park them.
-foreach(source_header ${public_headers})
-  FixIncludePaths(${source_header} Headers parked_header)
-  list(APPEND preprocessed_headers ${parked_header})
-endforeach()
-
-# Wrap header preprocessing in a target, so liblldbrpc can depend on.
-add_custom_target(liblldbrpc-headers DEPENDS ${preprocessed_headers})
-add_dependencies(liblldbrpc-headers copy-aux-rpc-headers 
liblldb-header-staging)
-set_target_properties(liblldbrpc-headers PROPERTIES
-  LIBRARY_OUTPUT_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/ParkedHeaders
-)
diff --git a/lldb/tools/lldb-rpc/lldb-rpc-gen/CMakeLists.txt 
b/lldb/tools/lldb-rpc/lldb-rpc-gen/CMakeLists.txt
deleted file mode 100644
index 65b76431d1bea..0000000000000
--- a/lldb/tools/lldb-rpc/lldb-rpc-gen/CMakeLists.txt
+++ /dev/null
@@ -1,23 +0,0 @@
-add_lldb_tool(lldb-rpc-gen
-    RPCCommon.cpp
-    server/RPCServerHeaderEmitter.cpp
-    server/RPCServerSourceEmitter.cpp
-    lldb-rpc-gen.cpp
-
-    CLANG_LIBS
-      clangAST
-      clangBasic
-      clangCodeGen
-      clangFrontend
-      clangLex
-      clangRewrite
-      clangSerialization
-      clangTooling
-
-    LINK_COMPONENTS
-      Support
-  )
-
-if (NOT DEFINED LLDB_RPC_GEN_EXE)
-  set(LLDB_RPC_GEN_EXE $<TARGET_FILE:lldb-rpc-gen> CACHE STRING "Executable 
that generates lldb-rpc-server")
-endif()
diff --git a/lldb/tools/lldb-rpc/lldb-rpc-gen/RPCCommon.cpp 
b/lldb/tools/lldb-rpc/lldb-rpc-gen/RPCCommon.cpp
deleted file mode 100644
index 37831a0cf195c..0000000000000
--- a/lldb/tools/lldb-rpc/lldb-rpc-gen/RPCCommon.cpp
+++ /dev/null
@@ -1,501 +0,0 @@
-//===-- RPCCommon.cpp 
-----------------------------------------------------===//
-//
-// Part of the LLVM Project, under the Apache License v2.0 with LLVM 
Exceptions.
-// See https://llvm.org/LICENSE.txt for license information.
-// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
-//
-//===----------------------------------------------------------------------===//
-
-#include "RPCCommon.h"
-
-#include "clang/AST/AST.h"
-#include "clang/AST/Attr.h"
-#include "clang/AST/DeclBase.h"
-#include "clang/AST/Mangle.h"
-#include "clang/Lex/Lexer.h"
-
-#include "llvm/ADT/STLExtras.h"
-#include "llvm/ADT/StringExtras.h"
-#include "llvm/ADT/StringMap.h"
-#include "llvm/ADT/StringRef.h"
-#include "llvm/Support/raw_ostream.h"
-
-#include <cstring>
-
-using namespace clang;
-
-// We intentionally do not generate some classes because they are currently
-// inconvenient, they aren't really used by most consumers, or we're not sure
-// why they exist.
-static constexpr llvm::StringRef DisallowedClasses[] = {
-    "SBCommunication", // This class is pretty much unused by consumers, so we
-                       // skip it.
-    "SBInputReader",   // This class is pretty much unused by consumers, so we
-                       // skip it.
-    "SBCommandPluginInterface", // This class uses virtual functions, and the 
SB
-                                // API should not have those, so we skip this
-                                // class.
-    "SBCommand", // There's nothing too difficult about this one, but many of
-                 // its methods take a SBCommandPluginInterface pointer so
-                 // there's no reason to support this.
-};
-
-// NOTE: In lldb-rpc-gen, we use mangled names when we need to work with
-// functions. We do this because we support many functions that have overloads,
-// and mangled names have no ambiguity which makes it easier to keep track of.
-// This is also possible since the LLDB SB API is stable.
-
-// We intentionally avoid generating certain methods either because they are
-// difficult to support correctly or they aren't really used much from C++.
-// NOTE: These methods are marked as deprecated using LLDB_DEPRECATED.
-// Normally this macro defines to the deprecated annotation, but this
-// functionality is removed in SBDefines.h when generating SWIG bindings which
-// we use for testing. Because of this, there is no annotation for the tool to
-// pick up on so this list will be used while we have this restriction in
-// SBDefines.h.
-static constexpr llvm::StringRef DisallowedMethods[] = {
-    // The threading functionality in SBHostOS is deprecated and thus we do not
-    // generate them. It would be ideal to add the annotations to the methods
-    // and then support not generating deprecated methods. However, without
-    // annotations the generator generates most things correctly. This one is
-    // problematic because it returns a pointer to an "opaque" structure
-    // (thread_t) that is not `void *`, so special casing it is more effort 
than
-    // it's worth.
-    "_ZN4lldb8SBHostOS10ThreadJoinEP17_opaque_pthread_tPPvPNS_7SBErrorE",
-    "_ZN4lldb8SBHostOS12ThreadCancelEP17_opaque_pthread_tPNS_7SBErrorE",
-    "_ZN4lldb8SBHostOS12ThreadCreateEPKcPFPvS3_ES3_PNS_7SBErrorE",
-    "_ZN4lldb8SBHostOS12ThreadDetachEP17_opaque_pthread_tPNS_7SBErrorE",
-    "_ZN4lldb8SBHostOS13ThreadCreatedEPKc",
-};
-
-static constexpr llvm::StringRef ClassesWithoutDefaultCtor[] = {
-    "SBHostOS",
-    "SBReproducer",
-};
-
-static constexpr llvm::StringRef ClassesWithoutCopyOperations[] = {
-    "SBHostOS",
-    "SBReproducer",
-    "SBStream",
-    "SBProgress",
-};
-
-static constexpr llvm::StringRef MethodsWithPointerPlusLen[] = {
-    "_ZN4lldb6SBData11ReadRawDataERNS_7SBErrorEyPvm",
-    "_ZN4lldb6SBData7SetDataERNS_7SBErrorEPKvmNS_9ByteOrderEh",
-    "_ZN4lldb6SBData20SetDataWithOwnershipERNS_7SBErrorEPKvmNS_9ByteOrderEh",
-    "_ZN4lldb6SBData25CreateDataFromUInt64ArrayENS_9ByteOrderEjPym",
-    "_ZN4lldb6SBData25CreateDataFromUInt32ArrayENS_9ByteOrderEjPjm",
-    "_ZN4lldb6SBData25CreateDataFromSInt64ArrayENS_9ByteOrderEjPxm",
-    "_ZN4lldb6SBData25CreateDataFromSInt32ArrayENS_9ByteOrderEjPim",
-    "_ZN4lldb6SBData25CreateDataFromDoubleArrayENS_9ByteOrderEjPdm",
-    "_ZN4lldb6SBData22SetDataFromUInt64ArrayEPym",
-    "_ZN4lldb6SBData22SetDataFromUInt32ArrayEPjm",
-    "_ZN4lldb6SBData22SetDataFromSInt64ArrayEPxm",
-    "_ZN4lldb6SBData22SetDataFromSInt32ArrayEPim",
-    "_ZN4lldb6SBData22SetDataFromDoubleArrayEPdm",
-    "_ZN4lldb10SBDebugger22GetDefaultArchitectureEPcm",
-    "_ZN4lldb10SBDebugger13DispatchInputEPvPKvm",
-    "_ZN4lldb10SBDebugger13DispatchInputEPKvm",
-    "_ZN4lldb6SBFile4ReadEPhmPm",
-    "_ZN4lldb6SBFile5WriteEPKhmPm",
-    "_ZNK4lldb10SBFileSpec7GetPathEPcm",
-    "_ZN4lldb10SBFileSpec11ResolvePathEPKcPcm",
-    "_ZN4lldb8SBModule10GetVersionEPjj",
-    "_ZN4lldb12SBModuleSpec12SetUUIDBytesEPKhm",
-    "_ZNK4lldb9SBProcess9GetSTDOUTEPcm",
-    "_ZNK4lldb9SBProcess9GetSTDERREPcm",
-    "_ZNK4lldb9SBProcess19GetAsyncProfileDataEPcm",
-    "_ZN4lldb9SBProcess10ReadMemoryEyPvmRNS_7SBErrorE",
-    "_ZN4lldb9SBProcess11WriteMemoryEyPKvmRNS_7SBErrorE",
-    "_ZN4lldb9SBProcess21ReadCStringFromMemoryEyPvmRNS_7SBErrorE",
-    "_ZNK4lldb16SBStructuredData14GetStringValueEPcm",
-    "_ZN4lldb8SBTarget23BreakpointCreateByNamesEPPKcjjRKNS_"
-    "14SBFileSpecListES6_",
-    "_ZN4lldb8SBTarget10ReadMemoryENS_9SBAddressEPvmRNS_7SBErrorE",
-    "_ZN4lldb8SBTarget15GetInstructionsENS_9SBAddressEPKvm",
-    "_ZN4lldb8SBTarget25GetInstructionsWithFlavorENS_9SBAddressEPKcPKvm",
-    "_ZN4lldb8SBTarget15GetInstructionsEyPKvm",
-    "_ZN4lldb8SBTarget25GetInstructionsWithFlavorEyPKcPKvm",
-    "_ZN4lldb8SBThread18GetStopDescriptionEPcm",
-    // The below mangled names are used for dummy methods in shell tests
-    // that test the emitters' output. If you're adding any new mangled names
-    // from the actual SB API to this list please add them above.
-    "_ZN4lldb33SBRPC_"
-    "CHECKCONSTCHARPTRPTRWITHLEN27CheckConstCharPtrPtrWithLenEPPKcm",
-    "_ZN4lldb19SBRPC_CHECKARRAYPTR13CheckArrayPtrEPPKcm",
-    "_ZN4lldb18SBRPC_CHECKVOIDPTR12CheckVoidPtrEPvm",
-};
-
-// These classes inherit from rpc::ObjectRef directly (as opposed to
-// rpc::LocalObjectRef). Changing them from ObjectRef to LocalObjectRef is ABI
-// breaking, so we preserve that compatibility here.
-//
-// lldb-rpc-gen emits classes as LocalObjectRefs by default.
-//
-// FIXME: Does it matter which one it emits by default?
-static constexpr llvm::StringRef ClassesThatInheritFromObjectRef[] = {
-    "SBAddress",
-    "SBBreakpointName",
-    "SBComman...
[truncated]

``````````

</details>


https://github.com/llvm/llvm-project/pull/147779
_______________________________________________
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits

Reply via email to