aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--include/clang/AST/ASTContext.h1
-rw-r--r--lib/AST/ASTContext.cpp14
2 files changed, 4 insertions, 11 deletions
diff --git a/include/clang/AST/ASTContext.h b/include/clang/AST/ASTContext.h
index 25c8e39b77..faae136817 100644
--- a/include/clang/AST/ASTContext.h
+++ b/include/clang/AST/ASTContext.h
@@ -332,7 +332,6 @@ public:
bool referenceTypesAreCompatible(QualType, QualType); // C++ 5.17p6
bool functionTypesAreCompatible(QualType, QualType); // C99 6.7.5.3p15
bool arrayTypesAreCompatible(QualType, QualType); // C99 6.7.5.2p6
- bool builtinTypesAreCompatible(QualType, QualType);
bool isObjCIdType(QualType T) const {
if (!IdStructType) // ObjC isn't enabled
diff --git a/lib/AST/ASTContext.cpp b/lib/AST/ASTContext.cpp
index c7d9340401..355308a40c 100644
--- a/lib/AST/ASTContext.cpp
+++ b/lib/AST/ASTContext.cpp
@@ -1435,13 +1435,6 @@ void ASTContext::setObjCConstantStringInterface(ObjCInterfaceDecl *Decl) {
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 @@ bool ASTContext::typesAreCompatible(QualType LHS_NC, QualType RHS_NC) {
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));