9#ifndef LLVM_DEBUGINFO_PDB_NATIVE_FORMATUTIL_H
10#define LLVM_DEBUGINFO_PDB_NATIVE_FORMATUTIL_H
27#define PUSH_MASKED_FLAG(Enum, Mask, TheOpt, Value, Text) \
28 if (Enum::TheOpt == (Value & Mask)) \
31#define PUSH_FLAG(Enum, TheOpt, Value, Text) \
32 PUSH_MASKED_FLAG(Enum, Enum::TheOpt, TheOpt, Value, Text)
34#define RETURN_CASE(Enum, X, Ret) \
61 bool Friendly =
true);
83 if (
N < 1000000000ULL)
85 if (
N < 10000000000ULL)
87 if (
N < 100000000000ULL)
89 if (
N < 1000000000000ULL)
91 if (
N < 10000000000000ULL)
93 if (
N < 100000000000000ULL)
95 if (
N < 1000000000000000ULL)
97 if (
N < 10000000000000000ULL)
99 if (
N < 100000000000000000ULL)
101 if (
N < 1000000000000000000ULL)
103 if (
N < 10000000000000000000ULL)
111 :
public FormatAdapter<support::detail::packed_endian_specific_integral<
112 T, llvm::endianness::little, support::unaligned>> {
This file contains library features backported from future STL versions.
ArrayRef - Represent a constant reference to an array (0 or more elements consecutively in memory),...
StringRef - 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.
@ C
The default llvm calling convention, compatible with C.
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)
int NumDigits(uint64_t N)
Returns the number of digits in the given integer.
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.
EndianAdapter(EndianType &&Item)
void format(llvm::raw_ostream &Stream, StringRef Style) override