Teach APValue printer to print boolean 0 and 1 as 'false' and 'true'. Fix up
some calling code to actually pass in a non-null type, to avoid a crash.

llvm-svn: 153358
diff --git a/clang/lib/AST/APValue.cpp b/clang/lib/AST/APValue.cpp
index 0b5b3b0..a31b3c5 100644
--- a/clang/lib/AST/APValue.cpp
+++ b/clang/lib/AST/APValue.cpp
@@ -312,7 +312,10 @@
     Out << "<uninitialized>";
     return;
   case APValue::Int:
-    Out << getInt();
+    if (Ty->isBooleanType())
+      Out << (getInt().getBoolValue() ? "true" : "false");
+    else
+      Out << getInt();
     return;
   case APValue::Float:
     Out << GetApproxValue(getFloat());