Add debugging to make a more useful message if a value gets constructed with a null type

llvm-svn: 1443
diff --git a/llvm/lib/VMCore/Value.cpp b/llvm/lib/VMCore/Value.cpp
index 3429d7c..0ac7205 100644
--- a/llvm/lib/VMCore/Value.cpp
+++ b/llvm/lib/VMCore/Value.cpp
@@ -18,8 +18,13 @@
 //                                Value Class
 //===----------------------------------------------------------------------===//
 
+static inline const Type *checkType(const Type *Ty) {
+  assert(Ty && "Value defined with a null type: Error!");
+  return Ty;
+}
+
 Value::Value(const Type *ty, ValueTy vty, const string &name = "")
-  : Name(name), Ty(ty, this) {
+  : Name(name), Ty(checkType(ty), this) {
   VTy = vty;
 }