[llvm] r227934 - Propagate a better error message to the C api.

Rafael Espindola rafael.espindola at gmail.com
Mon Feb 2 17:53:04 PST 2015


Author: rafael
Date: Mon Feb  2 19:53:03 2015
New Revision: 227934

URL: http://llvm.org/viewvc/llvm-project?rev=227934&view=rev
Log:
Propagate a better error message to the C api.

Modified:
    llvm/trunk/lib/Bitcode/Reader/BitReader.cpp
    llvm/trunk/test/Bindings/llvm-c/invalid-bitcode.test

Modified: llvm/trunk/lib/Bitcode/Reader/BitReader.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Bitcode/Reader/BitReader.cpp?rev=227934&r1=227933&r2=227934&view=diff
==============================================================================
--- llvm/trunk/lib/Bitcode/Reader/BitReader.cpp (original)
+++ llvm/trunk/lib/Bitcode/Reader/BitReader.cpp Mon Feb  2 19:53:03 2015
@@ -41,9 +41,11 @@ LLVMBool LLVMParseBitcodeInContext(LLVMC
 
   ErrorOr<Module *> ModuleOrErr = parseBitcodeFile(
       Buf, Ctx, [&](const DiagnosticInfo &DI) { DI.print(DP); });
-  if (std::error_code EC = ModuleOrErr.getError()) {
-    if (OutMessage)
-      *OutMessage = strdup(EC.message().c_str());
+  if (ModuleOrErr.getError()) {
+    if (OutMessage) {
+      Stream.flush();
+      *OutMessage = strdup(Message.c_str());
+    }
     *OutModule = wrap((Module*)nullptr);
     return 1;
   }

Modified: llvm/trunk/test/Bindings/llvm-c/invalid-bitcode.test
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/Bindings/llvm-c/invalid-bitcode.test?rev=227934&r1=227933&r2=227934&view=diff
==============================================================================
--- llvm/trunk/test/Bindings/llvm-c/invalid-bitcode.test (original)
+++ llvm/trunk/test/Bindings/llvm-c/invalid-bitcode.test Mon Feb  2 19:53:03 2015
@@ -1,3 +1,3 @@
 ; RUN: not llvm-c-test --module-dump < %S/Inputs/invalid.ll.bc 2>&1 | FileCheck %s
 
-CHECK: Error parsing bitcode: Corrupted bitcode
+CHECK: Error parsing bitcode: Unknown attribute kind (48)





More information about the llvm-commits mailing list