diff --git a/include/llvm/Support/PathV1.h b/include/llvm/Support/PathV1.h index 1fec1e56c83..86fdb0c0acc 100644 --- a/include/llvm/Support/PathV1.h +++ b/include/llvm/Support/PathV1.h @@ -329,7 +329,8 @@ namespace sys { /// cases (file not found, file not accessible, etc.) it returns false. /// @returns true if the magic number of the file matches \p magic. /// @brief Determine if file has a specific magic number - bool hasMagicNumber(StringRef magic) const; + LLVM_ATTRIBUTE_DEPRECATED(bool hasMagicNumber(StringRef magic) const, + LLVM_PATH_DEPRECATED_MSG(fs::has_magic)); /// This function retrieves the first \p len bytes of the file associated /// with \p this. These bytes are returned as the "magic number" in the diff --git a/lib/Support/Path.cpp b/lib/Support/Path.cpp index c3353fd0e2b..3e0ee8dd86d 100644 --- a/lib/Support/Path.cpp +++ b/lib/Support/Path.cpp @@ -140,7 +140,11 @@ sys::IdentifyFileType(const char *magic, unsigned length) { bool Path::isArchive() const { - return hasMagicNumber("!\012"); + std::string Magic; + if (getMagicNumber(Magic, 8)) + if (IdentifyFileType(Magic.c_str(), Magic.length()) == Archive_FileType) + return true; + return false; } bool