Support/Path: Deprecate Path::hasMagicNumber and replace all uses with fs::has_magic.
llvm-svn: 122589
diff --git a/llvm/include/llvm/Support/PathV1.h b/llvm/include/llvm/Support/PathV1.h
index 1fec1e5..86fdb0c 100644
--- a/llvm/include/llvm/Support/PathV1.h
+++ b/llvm/include/llvm/Support/PathV1.h
@@ -329,7 +329,8 @@
/// 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/llvm/lib/Support/Path.cpp b/llvm/lib/Support/Path.cpp
index c3353fd..3e0ee8d 100644
--- a/llvm/lib/Support/Path.cpp
+++ b/llvm/lib/Support/Path.cpp
@@ -140,7 +140,11 @@
bool
Path::isArchive() const {
- return hasMagicNumber("!<arch>\012");
+ std::string Magic;
+ if (getMagicNumber(Magic, 8))
+ if (IdentifyFileType(Magic.c_str(), Magic.length()) == Archive_FileType)
+ return true;
+ return false;
}
bool