Add support for conversions from a pointer-to-derived to a
pointer-to-base. Also, add overload ranking for pointer conversions
(for both pointer-to-void and derived-to-base pointer conversions).

Note that we do not yet diagnose derived-to-base pointer conversion
errors that stem from ambiguous or inacessible base classes. These
aren't handled during overload resolution; rather, when the conversion
is actually used we go ahead and diagnose the error.



git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@58017 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/lib/Sema/SemaOverload.h b/lib/Sema/SemaOverload.h
index f9e03ae..27190f6 100644
--- a/lib/Sema/SemaOverload.h
+++ b/lib/Sema/SemaOverload.h
@@ -97,17 +97,17 @@
     bool Deprecated : 1;
 
     /// FromType - The type that this conversion is converting
-    /// from. This is an opaque pointer for that can be translated
-    /// into a QualType.
+    /// from. This is an opaque pointer that can be translated into a
+    /// QualType.
     void *FromTypePtr;
 
     /// ToType - The type that this conversion is converting to. This
-    /// is an opaque pointer for that can be translated into a
-    /// QualType.
+    /// is an opaque pointer that can be translated into a QualType.
     void *ToTypePtr;
 
     ImplicitConversionRank getRank() const;
     bool isPointerConversionToBool() const;
+    bool isPointerConversionToVoidPointer(ASTContext& Context) const;
     void DebugPrint() const;
   };