]> granicus.if.org Git - llvm/commitdiff
MIR Parser: issue an error when the Context discard value names.
authorMehdi Amini <mehdi.amini@apple.com>
Sat, 17 Sep 2016 05:33:58 +0000 (05:33 +0000)
committerMehdi Amini <mehdi.amini@apple.com>
Sat, 17 Sep 2016 05:33:58 +0000 (05:33 +0000)
This is in line with the LLParser behavior

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@281811 91177308-0d34-0410-b5e6-96231b3b80d8

lib/CodeGen/MIRParser/MIRParser.cpp

index 104d7d1881269b38053dd6e2259a5497e9dc01d8..35614d3b77b501382b3d7b47d68617568173efe8 100644 (file)
@@ -828,6 +828,14 @@ std::unique_ptr<MIRParser> llvm::createMIRParserFromFile(StringRef Filename,
 std::unique_ptr<MIRParser>
 llvm::createMIRParser(std::unique_ptr<MemoryBuffer> Contents,
                       LLVMContext &Context) {
+  if (Context.shouldDiscardValueNames()) {
+    Context.diagnose(DiagnosticInfoMIRParser(
+        DS_Error,
+        SMDiagnostic(
+            Filename, SourceMgr::DK_Error,
+            "Can't read MIR with a Context that discards named Values")));
+    return nullptr;
+  }
   auto Filename = Contents->getBufferIdentifier();
   return llvm::make_unique<MIRParser>(
       llvm::make_unique<MIRParserImpl>(std::move(Contents), Filename, Context));