Relax the constraint on the types of ValueObjects that we'll by default try the
ObjC runtime for print object to Pointer AND Integer (from just pointer.)

llvm-svn: 127841
diff --git a/lldb/source/Core/ValueObject.cpp b/lldb/source/Core/ValueObject.cpp
index 9566925..9346db4 100644
--- a/lldb/source/Core/ValueObject.cpp
+++ b/lldb/source/Core/ValueObject.cpp
@@ -588,13 +588,16 @@
     
     if (runtime == NULL)
     {
-        // Aw, hell, if the things a pointer, let's try ObjC anyway...
+        // Aw, hell, if the things a pointer, or even just an integer, let's try ObjC anyway...
         clang_type_t opaque_qual_type = GetClangType();
         if (opaque_qual_type != NULL)
         {
-            clang::QualType qual_type (clang::QualType::getFromOpaquePtr(opaque_qual_type).getNonReferenceType());
-            if (qual_type->isAnyPointerType())
+            bool is_signed;
+            if (ClangASTContext::IsIntegerType (opaque_qual_type, is_signed) 
+                || ClangASTContext::IsPointerType (opaque_qual_type))
+            {
                 runtime = process->GetLanguageRuntime(lldb::eLanguageTypeObjC);
+            }
         }
     }
     
@@ -892,7 +895,11 @@
     return ClangASTContext::IsPointerType (GetClangType());
 }
 
-
+bool
+ValueObject::IsIntegerType (bool &is_signed)
+{
+    return ClangASTContext::IsIntegerType (GetClangType(), is_signed);
+}
 
 bool
 ValueObject::IsPointerOrReferenceType ()