summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorChris Lattner <sabre@nondot.org>2008-04-07 06:52:53 +0000
committerChris Lattner <sabre@nondot.org>2008-04-07 06:52:53 +0000
commit7460fd297dc401697f28fd540513331ff22f1345 (patch)
tree2831e714d24442d276cfd5e80c79d3b2423060e4
parent49af6a4bebb6e0891980c75cd21336a4473844b3 (diff)
downloadbcm5719-llvm-7460fd297dc401697f28fd540513331ff22f1345.tar.gz
bcm5719-llvm-7460fd297dc401697f28fd540513331ff22f1345.zip
simplify reference handling.
llvm-svn: 49325
-rw-r--r--clang/lib/AST/ASTContext.cpp17
-rw-r--r--clang/lib/Sema/SemaExpr.cpp2
2 files changed, 1 insertions, 18 deletions
diff --git a/clang/lib/AST/ASTContext.cpp b/clang/lib/AST/ASTContext.cpp
index 187871b32e0..e781040172c 100644
--- a/clang/lib/AST/ASTContext.cpp
+++ b/clang/lib/AST/ASTContext.cpp
@@ -1468,23 +1468,6 @@ bool ASTContext::pointerTypesAreCompatible(QualType lhs, QualType rhs) {
return typesAreCompatible(ltype, rtype);
}
-// C++ 5.17p6: When the left operand of an assignment operator denotes a
-// reference to T, the operation assigns to the object of type T denoted by the
-// reference.
-bool ASTContext::referenceTypesAreCompatible(QualType lhs, QualType rhs) {
- QualType ltype = lhs;
-
- if (lhs->isReferenceType())
- ltype = cast<ReferenceType>(lhs.getCanonicalType())->getPointeeType();
-
- QualType rtype = rhs;
-
- if (rhs->isReferenceType())
- rtype = cast<ReferenceType>(rhs.getCanonicalType())->getPointeeType();
-
- return typesAreCompatible(ltype, rtype);
-}
-
bool ASTContext::functionTypesAreCompatible(QualType lhs, QualType rhs) {
const FunctionType *lbase = cast<FunctionType>(lhs.getCanonicalType());
const FunctionType *rbase = cast<FunctionType>(rhs.getCanonicalType());
diff --git a/clang/lib/Sema/SemaExpr.cpp b/clang/lib/Sema/SemaExpr.cpp
index f0f05006f37..f4ef2839855 100644
--- a/clang/lib/Sema/SemaExpr.cpp
+++ b/clang/lib/Sema/SemaExpr.cpp
@@ -1179,7 +1179,7 @@ Sema::CheckAssignmentConstraints(QualType lhsType, QualType rhsType) {
return Compatible; // Common case: fast path an exact match.
if (lhsType->isReferenceType() || rhsType->isReferenceType()) {
- if (Context.referenceTypesAreCompatible(lhsType, rhsType))
+ if (Context.typesAreCompatible(lhsType, rhsType))
return Compatible;
return Incompatible;
}
OpenPOWER on IntegriCloud