diff options
Diffstat (limited to 'llvm/lib/BinaryFormat/Magic.cpp')
| -rw-r--r-- | llvm/lib/BinaryFormat/Magic.cpp | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/llvm/lib/BinaryFormat/Magic.cpp b/llvm/lib/BinaryFormat/Magic.cpp index 025334f9f3f4..420224df57df 100644 --- a/llvm/lib/BinaryFormat/Magic.cpp +++ b/llvm/lib/BinaryFormat/Magic.cpp @@ -87,6 +87,10 @@ file_magic llvm::identify_magic(StringRef Magic) { if (startswith(Magic, "BC\xC0\xDE")) return file_magic::bitcode; break; + case 'C': + if (startswith(Magic, "CCOB")) + return file_magic::offload_bundle_compressed; + break; case '!': if (startswith(Magic, "!<arch>\n") || startswith(Magic, "!<thin>\n")) return file_magic::archive; @@ -251,6 +255,13 @@ file_magic llvm::identify_magic(StringRef Magic) { return file_magic::coff_object; break; + case '_': { + const char OBMagic[] = "__CLANG_OFFLOAD_BUNDLE__"; + if (Magic.size() >= sizeof(OBMagic) && startswith(Magic, OBMagic)) + return file_magic::offload_bundle; + break; + } + default: break; } |
