9#ifndef LLVM_DEBUGINFO_PDB_NATIVE_FORMATUTIL_H
10#define LLVM_DEBUGINFO_PDB_NATIVE_FORMATUTIL_H
26#define PUSH_MASKED_FLAG(Enum, Mask, TheOpt, Value, Text) \
27 if (Enum::TheOpt == (Value & Mask)) \
30#define PUSH_FLAG(Enum, TheOpt, Value, Text) \
31 PUSH_MASKED_FLAG(Enum, Enum::TheOpt, TheOpt, Value, Text)
33#define RETURN_CASE(Enum, X, Ret) \
60 bool Friendly =
true);
67 :
public FormatAdapter<support::detail::packed_endian_specific_integral<
68 T, llvm::endianness::little, support::unaligned>> {
static GCRegistry::Add< ShadowStackGC > C("shadow-stack", "Very portable GC for uncooperative code generators")
This file contains library features backported from future STL versions.
Represent a constant reference to an array (0 or more elements consecutively in memory),...
Represent a constant reference to a string, i.e.
LLVM Value Representation.
This class implements an extremely fast bulk output stream that can only output to a stream.
TypeLeafKind
Duplicate copy of the above enum, but using the official CV names.
SymbolKind
Duplicate copy of the above enum, but using the official CV names.
LLVM_ABI std::string formatSegmentOffset(uint16_t Segment, uint32_t Offset)
std::string formatUnknownEnum(T Value)
LLVM_ABI std::string typesetStringList(uint32_t IndentLevel, ArrayRef< StringRef > Strings)
LLVM_ABI std::string formatSymbolKind(codeview::SymbolKind K)
LLVM_ABI std::string formatTypeLeafKind(codeview::TypeLeafKind K)
detail::EndianAdapter< T > fmtle(support::detail::packed_endian_specific_integral< T, llvm::endianness::little, support::unaligned > Value)
LLVM_ABI std::string formatChunkKind(codeview::DebugSubsectionKind Kind, bool Friendly=true)
LLVM_ABI std::string formatSectionCharacteristics(uint32_t IndentLevel, uint32_t C, uint32_t FlagsPerLine, StringRef Separator, CharacteristicStyle Style=CharacteristicStyle::HeaderDefinition)
LLVM_ABI std::string typesetItemList(ArrayRef< std::string > Opts, uint32_t IndentLevel, uint32_t GroupSize, StringRef Sep)
This is an optimization pass for GlobalISel generic memory operations.
auto formatv(bool Validate, const char *Fmt, Ts &&...Vals)
constexpr std::underlying_type_t< Enum > to_underlying(Enum E)
Returns underlying integer value of an enum.
OutputIt move(R &&Range, OutputIt Out)
Provide wrappers to std::move which take ranges instead of having to pass begin/end explicitly.
Implement std::hash so that hash_code can be used in STL containers.
support::detail::packed_endian_specific_integral< T, llvm::endianness::little, support::unaligned > EndianType
void format(llvm::raw_ostream &Stream, StringRef Style)
EndianAdapter(EndianType &&Item)