aboutsummaryrefslogtreecommitdiff
path: root/contrib/llvm-project/llvm/lib/ObjectYAML/CodeViewYAMLSymbols.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'contrib/llvm-project/llvm/lib/ObjectYAML/CodeViewYAMLSymbols.cpp')
-rw-r--r--contrib/llvm-project/llvm/lib/ObjectYAML/CodeViewYAMLSymbols.cpp21
1 files changed, 21 insertions, 0 deletions
diff --git a/contrib/llvm-project/llvm/lib/ObjectYAML/CodeViewYAMLSymbols.cpp b/contrib/llvm-project/llvm/lib/ObjectYAML/CodeViewYAMLSymbols.cpp
index 8d2028abfe9b..64e1a58aa71a 100644
--- a/contrib/llvm-project/llvm/lib/ObjectYAML/CodeViewYAMLSymbols.cpp
+++ b/contrib/llvm-project/llvm/lib/ObjectYAML/CodeViewYAMLSymbols.cpp
@@ -61,6 +61,7 @@ LLVM_YAML_DECLARE_ENUM_TRAITS(CPUType)
LLVM_YAML_DECLARE_ENUM_TRAITS(RegisterId)
LLVM_YAML_DECLARE_ENUM_TRAITS(TrampolineType)
LLVM_YAML_DECLARE_ENUM_TRAITS(ThunkOrdinal)
+LLVM_YAML_DECLARE_ENUM_TRAITS(JumpTableEntrySize)
LLVM_YAML_STRONG_TYPEDEF(StringRef, TypeName)
@@ -207,6 +208,15 @@ void ScalarEnumerationTraits<FrameCookieKind>::enumeration(
}
}
+void ScalarEnumerationTraits<JumpTableEntrySize>::enumeration(
+ IO &io, JumpTableEntrySize &FC) {
+ auto ThunkNames = getJumpTableEntrySizeNames();
+ for (const auto &E : ThunkNames) {
+ io.enumCase(FC, E.Name.str().c_str(),
+ static_cast<JumpTableEntrySize>(E.Value));
+ }
+}
+
namespace llvm {
namespace yaml {
template <> struct MappingTraits<LocalVariableAddrRange> {
@@ -586,6 +596,17 @@ template <> void SymbolRecordImpl<AnnotationSym>::map(IO &IO) {
IO.mapRequired("Strings", Symbol.Strings);
}
+template <> void SymbolRecordImpl<JumpTableSym>::map(IO &IO) {
+ IO.mapRequired("BaseOffset", Symbol.BaseOffset);
+ IO.mapRequired("BaseSegment", Symbol.BaseSegment);
+ IO.mapRequired("SwitchType", Symbol.SwitchType);
+ IO.mapRequired("BranchOffset", Symbol.BranchOffset);
+ IO.mapRequired("TableOffset", Symbol.TableOffset);
+ IO.mapRequired("BranchSegment", Symbol.BranchSegment);
+ IO.mapRequired("TableSegment", Symbol.TableSegment);
+ IO.mapRequired("EntriesCount", Symbol.EntriesCount);
+}
+
} // end namespace detail
} // end namespace CodeViewYAML
} // end namespace llvm