Fix some error messages; Make LLVMC pass through the exit code of a failed tool.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@50971 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/tools/llvmc2/Error.h b/tools/llvmc2/Error.h
new file mode 100644
index 0000000..c0aaff1
--- /dev/null
+++ b/tools/llvmc2/Error.h
@@ -0,0 +1,33 @@
+//===--- Error.h - The LLVM Compiler Driver ---------------------*- C++ -*-===//
+//
+//                     The LLVM Compiler Infrastructure
+//
+// This file is distributed under the University of Illinois Open
+// Source License. See LICENSE.TXT for details.
+//
+//===----------------------------------------------------------------------===//
+//
+//  Exception classes for LLVMC.
+//
+//===----------------------------------------------------------------------===//
+
+#ifndef LLVM_TOOLS_LLVMC2_ERROR_H
+#define LLVM_TOOLS_LLVMC2_ERROR_H
+
+#include <stdexcept>
+
+namespace llvmc {
+
+  class error_code: public std::runtime_error {
+    int Code_;
+  public:
+    error_code (int c)
+      : std::runtime_error("Tool returned error code"), Code_(c)
+    {}
+
+    int code() const { return Code_; }
+  };
+
+}
+
+#endif //LLVM_TOOLS_LLVMC2_ERROR_H