10#include "llvm/ADT/STLExtras.h"
11#include "llvm/Support/raw_ostream.h"
12#include "llvm/TextAPI/Platform.h"
37 const PlatformVersionSet &Platforms) {
38 std::string PlatformAsString;
39 raw_string_ostream Stream(PlatformAsString);
42 llvm::interleaveComma(
44 [&Stream](
const std::pair<PlatformType, VersionTuple> &PV) {
46 if (!PV.second.empty())
47 Stream << PV.second.getAsString();
57 case FileType::MachO_Bundle:
60 case FileType::MachO_DynamicLibrary:
63 case FileType::MachO_DynamicLibrary_Stub:
64 DB.
AddString(
"mach-o dynamic library stub");
66 case FileType::TBD_V1:
69 case FileType::TBD_V2:
72 case FileType::TBD_V3:
75 case FileType::TBD_V4:
78 case FileType::TBD_V5:
81 case FileType::Invalid:
85 llvm_unreachable(
"Unexpected file type for diagnostics.");
90 std::string VersionString;
91 raw_string_ostream OS(VersionString);
101 raw_string_ostream OS(Entry);
103 OS << LibAttr.first <<
" [ " << LibAttr.second <<
" ]";
static const char * getPlatformName(Darwin::DarwinPlatformKind Platform, Darwin::DarwinEnvironmentKind Environment)
llvm::MachO::ArchitectureSet ArchitectureSet
llvm::MachO::PackedVersion PackedVersion
llvm::MachO::Architecture Architecture
llvm::MachO::FileType FileType
llvm::MachO::PlatformType PlatformType
A little helper class used to produce diagnostics.
void AddString(StringRef V) const
std::pair< std::string, ArchitectureSet > Entry
const DiagnosticBuilder & operator<<(const DiagnosticBuilder &DB, const Architecture &Arch)
Diagnostic wrappers for TextAPI types for error reporting.