summaryrefslogtreecommitdiffstats
path: root/clang/lib/AST/ASTContext.cpp
diff options
context:
space:
mode:
authorFariborz Jahanian <fjahanian@apple.com>2010-02-10 00:32:12 +0000
committerFariborz Jahanian <fjahanian@apple.com>2010-02-10 00:32:12 +0000
commit113b8ad7cfd570eb26ce107c626e224254965f94 (patch)
tree13a793ef46426c9ecfd1f5d26c18e110c10a5734 /clang/lib/AST/ASTContext.cpp
parent811663eb1151f7a209160f2b071a79bf43daf85f (diff)
downloadbcm5719-llvm-113b8ad7cfd570eb26ce107c626e224254965f94.tar.gz
bcm5719-llvm-113b8ad7cfd570eb26ce107c626e224254965f94.zip
Reverse a partial fix patch for radar 7214820. It broke some code and
I don't have time to refix it for now. llvm-svn: 95733
Diffstat (limited to 'clang/lib/AST/ASTContext.cpp')
-rw-r--r--clang/lib/AST/ASTContext.cpp19
1 files changed, 3 insertions, 16 deletions
diff --git a/clang/lib/AST/ASTContext.cpp b/clang/lib/AST/ASTContext.cpp
index c9d85c84f96..7912a93421f 100644
--- a/clang/lib/AST/ASTContext.cpp
+++ b/clang/lib/AST/ASTContext.cpp
@@ -4311,24 +4311,11 @@ QualType ASTContext::mergeFunctionTypes(QualType lhs, QualType rhs) {
bool allRTypes = true;
// Check return type
- QualType LRES = lbase->getResultType();
- QualType RRES = rbase->getResultType();
- Qualifiers::GC GC_L = LRES.getObjCGCAttr();
- Qualifiers::GC GC_R = RRES.getObjCGCAttr();
- // __weak/__strong attribute on one function/block return type but
- // not the other is OK.
- if (GC_L != GC_R) {
- if (GC_R == Qualifiers::GCNone)
- RRES = getObjCGCQualType(RRES, GC_L);
- else if (GC_L == Qualifiers::GCNone)
- LRES = getObjCGCQualType(LRES, GC_R);
- }
-
- QualType retType = mergeTypes(LRES, RRES);
+ QualType retType = mergeTypes(lbase->getResultType(), rbase->getResultType());
if (retType.isNull()) return QualType();
- if (getCanonicalType(retType) != getCanonicalType(LRES))
+ if (getCanonicalType(retType) != getCanonicalType(lbase->getResultType()))
allLTypes = false;
- if (getCanonicalType(retType) != getCanonicalType(RRES))
+ if (getCanonicalType(retType) != getCanonicalType(rbase->getResultType()))
allRTypes = false;
// FIXME: double check this
bool NoReturn = lbase->getNoReturnAttr() || rbase->getNoReturnAttr();
OpenPOWER on IntegriCloud