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) \
59 bool Friendly =
true);
81 if (
N < 1000000000ULL)
83 if (
N < 10000000000ULL)
85 if (
N < 100000000000ULL)
87 if (
N < 1000000000000ULL)
89 if (
N < 10000000000000ULL)
91 if (
N < 100000000000000ULL)
93 if (
N < 1000000000000000ULL)
95 if (
N < 10000000000000000ULL)
97 if (
N < 100000000000000000ULL)
99 if (
N < 1000000000000000000ULL)
101 if (
N < 10000000000000000000ULL)
109 :
public FormatAdapter<support::detail::packed_endian_specific_integral<
110 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.
std::string formatSegmentOffset(uint16_t Segment, uint32_t Offset)
std::string formatUnknownEnum(T Value)
std::string typesetStringList(uint32_t IndentLevel, ArrayRef< StringRef > Strings)
int NumDigits(uint64_t N)
Returns the number of digits in the given integer.
std::string formatSymbolKind(codeview::SymbolKind K)
std::string formatTypeLeafKind(codeview::TypeLeafKind K)
detail::EndianAdapter< T > fmtle(support::detail::packed_endian_specific_integral< T, llvm::endianness::little, support::unaligned > Value)
std::string formatChunkKind(codeview::DebugSubsectionKind Kind, bool Friendly=true)
std::string formatSectionCharacteristics(uint32_t IndentLevel, uint32_t C, uint32_t FlagsPerLine, StringRef Separator, CharacteristicStyle Style=CharacteristicStyle::HeaderDefinition)
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(const char *Fmt, Ts &&...Vals) -> formatv_object< decltype(std::make_tuple(support::detail::build_format_adapter(std::forward< 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