diff options
Diffstat (limited to 'lld/lib/ReaderWriter/YAML/ReaderWriterYAML.cpp')
-rw-r--r-- | lld/lib/ReaderWriter/YAML/ReaderWriterYAML.cpp | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/lld/lib/ReaderWriter/YAML/ReaderWriterYAML.cpp b/lld/lib/ReaderWriter/YAML/ReaderWriterYAML.cpp index d33c06bad76..df74e9bcaf0 100644 --- a/lld/lib/ReaderWriter/YAML/ReaderWriterYAML.cpp +++ b/lld/lib/ReaderWriter/YAML/ReaderWriterYAML.cpp @@ -25,6 +25,7 @@ #include "llvm/Support/ErrorHandling.h" #include "llvm/Support/Format.h" #include "llvm/Support/MemoryBuffer.h" +#include "llvm/Support/Path.h" #include "llvm/Support/YAMLTraits.h" #include "llvm/Support/raw_ostream.h" #include <memory> @@ -1304,8 +1305,9 @@ class YAMLReader : public Reader { public: YAMLReader(const Registry ®istry) : _registry(registry) {} - bool canParse(file_magic, StringRef ext, const MemoryBuffer &) const override { - return (ext.equals(".objtxt") || ext.equals(".yaml")); + bool canParse(file_magic magic, const MemoryBuffer &mb) const override { + StringRef ext = llvm::sys::path::extension(mb.getBufferIdentifier()); + return ext.equals(".objtxt") || ext.equals(".yaml"); } std::error_code |