[Lldb-commits] [lldb] [llvm] [lldb] Add initial MicrosoftABIRuntime (PR #235090)

Charles Zablit via lldb-commits lldb-commits at lists.llvm.org
Thu Oct 29 17:49:48 PDT 2026


================
@@ -0,0 +1,61 @@
+//===----------------------------------------------------------------------===//
+//
+// 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
+//
+//===----------------------------------------------------------------------===//
+
+#ifndef LLDB_SOURCE_PLUGINS_LANGUAGERUNTIME_CPLUSPLUS_MICROSOFTABIRUNTIME_H
+#define LLDB_SOURCE_PLUGINS_LANGUAGERUNTIME_CPLUSPLUS_MICROSOFTABIRUNTIME_H
+
+#include "CommonABIRuntime.h"
+#include "lldb/Target/LanguageRuntime.h"
+#include "lldb/ValueObject/ValueObject.h"
+
+namespace lldb_private {
+
+class MicrosoftABIRuntime : public CommonABIRuntime {
+public:
+  MicrosoftABIRuntime(Process *process);
+
+  llvm::StringRef GetName() const override { return "Microsoft ABI runtime"; }
+
+  bool GetDynamicTypeAndAddress(ValueObject &in_value,
+                                lldb::DynamicValueType use_dynamic,
+                                const LanguageRuntime::VTableInfo &vtable_info,
+                                TypeAndOrName &class_type_or_name,
+                                Address &dynamic_address) override;
+
+  bool IsVTableSymbol(Mangled &mangled) const override;
+
+private:
+  TypeAndOrName
+  GetTypeInfo(ValueObject &in_value,
+              const LanguageRuntime::VTableInfo &vtable_info,
+              llvm::SmallVectorImpl<llvm::StringRef> &vtable_components);
+
+  llvm::Error TypeHasVTable(CompilerType type);
----------------
charles-zablit wrote:

Is this used anywhere?

https://github.com/llvm/llvm-project/pull/235090


More information about the lldb-commits mailing list