Skip to content

Commit 7ea7267

Browse files
committed
[TextAPI] switch container for holding triples in dylib
Resolves buildbot failure reported on windows bot
1 parent 4f9ad0f commit 7ea7267

File tree

1 file changed

+21
-25
lines changed

1 file changed

+21
-25
lines changed

llvm/lib/TextAPI/BinaryReader/DylibReader.cpp

Lines changed: 21 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -28,12 +28,9 @@ using namespace llvm::object;
2828
using namespace llvm::MachO;
2929
using namespace llvm::MachO::DylibReader;
3030

31-
auto TripleCmp = [](const Triple &LHS, const Triple &RHS) {
32-
return LHS.getTriple() < RHS.getTriple();
33-
};
34-
using TripleSet = std::set<Triple, decltype(TripleCmp)>;
31+
using TripleVec = std::vector<Triple>;
3532

36-
static TripleSet constructTriples(MachOObjectFile *Obj,
33+
static TripleVec constructTriples(MachOObjectFile *Obj,
3734
const Architecture ArchT) {
3835
auto getOSVersionStr = [](uint32_t V) {
3936
PackedVersion OSVersion(V);
@@ -47,8 +44,7 @@ static TripleSet constructTriples(MachOObjectFile *Obj,
4744
return getOSVersionStr(Vers.version);
4845
};
4946

50-
// FIXME: Can remove TripleCmp arg when building in c++20.
51-
TripleSet Triples(TripleCmp);
47+
TripleVec Triples;
5248
bool IsIntel = ArchitectureSet(ArchT).hasX86();
5349
auto Arch = getArchitectureName(ArchT);
5450

@@ -57,61 +53,61 @@ static TripleSet constructTriples(MachOObjectFile *Obj,
5753
switch (cmd.C.cmd) {
5854
case MachO::LC_VERSION_MIN_MACOSX:
5955
OSVersion = getOSVersion(cmd);
60-
Triples.emplace(Arch, "apple", "macos" + OSVersion);
56+
Triples.emplace_back(Arch, "apple", "macos" + OSVersion);
6157
break;
6258
case MachO::LC_VERSION_MIN_IPHONEOS:
6359
OSVersion = getOSVersion(cmd);
6460
if (IsIntel)
65-
Triples.emplace(Arch, "apple", "ios" + OSVersion, "simulator");
61+
Triples.emplace_back(Arch, "apple", "ios" + OSVersion, "simulator");
6662
else
67-
Triples.emplace(Arch, "apple", "ios" + OSVersion);
63+
Triples.emplace_back(Arch, "apple", "ios" + OSVersion);
6864
break;
6965
case MachO::LC_VERSION_MIN_TVOS:
7066
OSVersion = getOSVersion(cmd);
7167
if (IsIntel)
72-
Triples.emplace(Arch, "apple", "tvos" + OSVersion, "simulator");
68+
Triples.emplace_back(Arch, "apple", "tvos" + OSVersion, "simulator");
7369
else
74-
Triples.emplace(Arch, "apple", "tvos" + OSVersion);
70+
Triples.emplace_back(Arch, "apple", "tvos" + OSVersion);
7571
break;
7672
case MachO::LC_VERSION_MIN_WATCHOS:
7773
OSVersion = getOSVersion(cmd);
7874
if (IsIntel)
79-
Triples.emplace(Arch, "apple", "watchos" + OSVersion, "simulator");
75+
Triples.emplace_back(Arch, "apple", "watchos" + OSVersion, "simulator");
8076
else
81-
Triples.emplace(Arch, "apple", "watchos" + OSVersion);
77+
Triples.emplace_back(Arch, "apple", "watchos" + OSVersion);
8278
break;
8379
case MachO::LC_BUILD_VERSION: {
8480
OSVersion = getOSVersionStr(Obj->getBuildVersionLoadCommand(cmd).minos);
8581
switch (Obj->getBuildVersionLoadCommand(cmd).platform) {
8682
case MachO::PLATFORM_MACOS:
87-
Triples.emplace(Arch, "apple", "macos" + OSVersion);
83+
Triples.emplace_back(Arch, "apple", "macos" + OSVersion);
8884
break;
8985
case MachO::PLATFORM_IOS:
90-
Triples.emplace(Arch, "apple", "ios" + OSVersion);
86+
Triples.emplace_back(Arch, "apple", "ios" + OSVersion);
9187
break;
9288
case MachO::PLATFORM_TVOS:
93-
Triples.emplace(Arch, "apple", "tvos" + OSVersion);
89+
Triples.emplace_back(Arch, "apple", "tvos" + OSVersion);
9490
break;
9591
case MachO::PLATFORM_WATCHOS:
96-
Triples.emplace(Arch, "apple", "watchos" + OSVersion);
92+
Triples.emplace_back(Arch, "apple", "watchos" + OSVersion);
9793
break;
9894
case MachO::PLATFORM_BRIDGEOS:
99-
Triples.emplace(Arch, "apple", "bridgeos" + OSVersion);
95+
Triples.emplace_back(Arch, "apple", "bridgeos" + OSVersion);
10096
break;
10197
case MachO::PLATFORM_MACCATALYST:
102-
Triples.emplace(Arch, "apple", "ios" + OSVersion, "macabi");
98+
Triples.emplace_back(Arch, "apple", "ios" + OSVersion, "macabi");
10399
break;
104100
case MachO::PLATFORM_IOSSIMULATOR:
105-
Triples.emplace(Arch, "apple", "ios" + OSVersion, "simulator");
101+
Triples.emplace_back(Arch, "apple", "ios" + OSVersion, "simulator");
106102
break;
107103
case MachO::PLATFORM_TVOSSIMULATOR:
108-
Triples.emplace(Arch, "apple", "tvos" + OSVersion, "simulator");
104+
Triples.emplace_back(Arch, "apple", "tvos" + OSVersion, "simulator");
109105
break;
110106
case MachO::PLATFORM_WATCHOSSIMULATOR:
111-
Triples.emplace(Arch, "apple", "watchos" + OSVersion, "simulator");
107+
Triples.emplace_back(Arch, "apple", "watchos" + OSVersion, "simulator");
112108
break;
113109
case MachO::PLATFORM_DRIVERKIT:
114-
Triples.emplace(Arch, "apple", "driverkit" + OSVersion);
110+
Triples.emplace_back(Arch, "apple", "driverkit" + OSVersion);
115111
break;
116112
default:
117113
break; // Skip any others.
@@ -126,7 +122,7 @@ static TripleSet constructTriples(MachOObjectFile *Obj,
126122
// Record unknown platform for older binaries that don't enforce platform
127123
// load commands.
128124
if (Triples.empty())
129-
Triples.emplace(Arch, "apple", "unknown");
125+
Triples.emplace_back(Arch, "apple", "unknown");
130126

131127
return Triples;
132128
}

0 commit comments

Comments
 (0)