Remove a dead check for compatible builtin types


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@49319 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/lib/AST/ASTContext.cpp b/lib/AST/ASTContext.cpp
index c7d9340..355308a 100644
--- a/lib/AST/ASTContext.cpp
+++ b/lib/AST/ASTContext.cpp
@@ -1435,13 +1435,6 @@
   ObjCConstantStringType = getObjCInterfaceType(Decl);
 }
 
-bool ASTContext::builtinTypesAreCompatible(QualType lhs, QualType rhs) {
-  const BuiltinType *lBuiltin = lhs->getAsBuiltinType();
-  const BuiltinType *rBuiltin = rhs->getAsBuiltinType();
-  
-  return lBuiltin->getKind() == rBuiltin->getKind();
-}
-
 /// areCompatObjCInterfaces - This routine is called when we are testing
 /// compatibility of two different [potentially qualified] ObjCInterfaceType's.
 static bool areCompatObjCInterfaces(const ObjCInterfaceType *LHS,
@@ -1704,13 +1697,14 @@
   case Type::Tagged: // handle structures, unions
     return tagTypesAreCompatible(LHS, RHS);
   case Type::Builtin:
-    return builtinTypesAreCompatible(LHS, RHS); 
+    // Only exactly equal builtin types are compatible, which is tested above.
+    return false;
+  case Type::Vector:
+    return areCompatVectorTypes(cast<VectorType>(LHS), cast<VectorType>(RHS));
   case Type::ObjCInterface:
     // The LHS must be a superclass of the RHS.
     return cast<ObjCInterfaceType>(LHS)->getDecl()->isSuperClassOf(
                                    cast<ObjCInterfaceType>(RHS)->getDecl());
-  case Type::Vector:
-    return areCompatVectorTypes(cast<VectorType>(LHS), cast<VectorType>(RHS));
   case Type::ObjCQualifiedInterface:
     return areCompatObjCQualInterfaces(cast<ObjCQualifiedInterfaceType>(LHS),
                                        cast<ObjCQualifiedInterfaceType>(RHS));