Skip to content

Commit 10b6d09

Browse files
committed
Revert "[llvm-cov] Warn when -arch spec is missing/invalid for universal binary"
This reverts commit b81d4bf. It's causing some bots to fail to build due to: "error: no matching function for call to ‘__iterator_category".
1 parent b81d4bf commit 10b6d09

File tree

4 files changed

+2
-22
lines changed

4 files changed

+2
-22
lines changed

llvm/include/llvm/ProfileData/Coverage/CoverageMapping.h

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -55,8 +55,7 @@ enum class coveragemap_error {
5555
unsupported_version,
5656
truncated,
5757
malformed,
58-
decompression_failed,
59-
invalid_or_missing_arch_specifier
58+
decompression_failed
6059
};
6160

6261
const std::error_category &coveragemap_category();

llvm/lib/ProfileData/Coverage/CoverageMapping.cpp

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -816,8 +816,6 @@ static std::string getCoverageMapErrString(coveragemap_error Err) {
816816
return "Malformed coverage data";
817817
case coveragemap_error::decompression_failed:
818818
return "Failed to decompress coverage data (zlib)";
819-
case coveragemap_error::invalid_or_missing_arch_specifier:
820-
return "`-arch` specifier is invalid or missing for universal binary";
821819
}
822820
llvm_unreachable("A value of coveragemap_error has no message.");
823821
}

llvm/lib/ProfileData/Coverage/CoverageMappingReader.cpp

Lines changed: 0 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -950,18 +950,6 @@ loadBinaryFormat(std::unique_ptr<Binary> Bin, StringRef Arch) {
950950
BytesInAddress, Endian);
951951
}
952952

953-
/// Determine whether \p Arch is invalid or empty, given \p Bin.
954-
static bool isArchSpecifierInvalidOrMissing(Binary *Bin, StringRef Arch) {
955-
// If we have a universal binary and Arch doesn't identify any of its slices,
956-
// it's user error.
957-
if (auto *Universal = dyn_cast<MachOUniversalBinary>(Bin))
958-
return none_of(Universal->objects(),
959-
[Arch](const MachOUniversalBinary::ObjectForArch &Obj) {
960-
return Obj.getArchFlagName() == Arch;
961-
});
962-
return false;
963-
}
964-
965953
Expected<std::vector<std::unique_ptr<BinaryCoverageReader>>>
966954
BinaryCoverageReader::create(
967955
MemoryBufferRef ObjectBuffer, StringRef Arch,
@@ -982,10 +970,6 @@ BinaryCoverageReader::create(
982970
return BinOrErr.takeError();
983971
std::unique_ptr<Binary> Bin = std::move(BinOrErr.get());
984972

985-
if (isArchSpecifierInvalidOrMissing(Bin.get(), Arch))
986-
return make_error<CoverageMapError>(
987-
coveragemap_error::invalid_or_missing_arch_specifier);
988-
989973
// MachO universal binaries which contain archives need to be treated as
990974
// archives, not as regular binaries.
991975
if (auto *Universal = dyn_cast<MachOUniversalBinary>(Bin.get())) {

llvm/test/tools/llvm-cov/universal-binary.c

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,9 +10,8 @@ int main(int argc, const char *argv[]) {}
1010
// COMBINED: showTemplateInstantiations.cpp
1111
// COMBINED-NEXT: universal-binary.c
1212

13-
// RUN: not llvm-cov show %S/Inputs/universal-binary -instr-profile %t.profdata -path-equivalence=/tmp,%S %s 2>&1 | FileCheck --check-prefix=WRONG-ARCH %s
1413
// RUN: not llvm-cov show %S/Inputs/universal-binary -instr-profile %t.profdata -path-equivalence=/tmp,%S %s -arch i386 2>&1 | FileCheck --check-prefix=WRONG-ARCH %s
15-
// WRONG-ARCH: Failed to load coverage: `-arch` specifier is invalid or missing for universal binary
14+
// WRONG-ARCH: Failed to load coverage
1615

1716
// RUN: not llvm-cov show %S/Inputs/universal-binary -instr-profile %t.profdata -path-equivalence=/tmp,%S %s -arch definitly_a_made_up_architecture 2>&1 | FileCheck --check-prefix=MADE-UP-ARCH %s
1817
// MADE-UP-ARCH: Unknown architecture: definitly_a_made_up_architecture

0 commit comments

Comments
 (0)