summaryrefslogtreecommitdiffstats
path: root/clang/lib/Sema/TreeTransform.h
diff options
context:
space:
mode:
authorAbramo Bagnara <abramo.bagnara@gmail.com>2010-08-10 08:50:03 +0000
committerAbramo Bagnara <abramo.bagnara@gmail.com>2010-08-10 08:50:03 +0000
commit092990ac68670d39e99bcb91e22107699f63aa78 (patch)
tree34246451d46ed27da3b6d2120907c69568e2d339 /clang/lib/Sema/TreeTransform.h
parente03edfd3e7d883bb671fb3cd5ca94ffb470e5cfa (diff)
downloadbcm5719-llvm-092990ac68670d39e99bcb91e22107699f63aa78.tar.gz
bcm5719-llvm-092990ac68670d39e99bcb91e22107699f63aa78.zip
Added TypeLocs to TypesCompatibleExpr node.
llvm-svn: 110663
Diffstat (limited to 'clang/lib/Sema/TreeTransform.h')
-rw-r--r--clang/lib/Sema/TreeTransform.h26
1 files changed, 14 insertions, 12 deletions
diff --git a/clang/lib/Sema/TreeTransform.h b/clang/lib/Sema/TreeTransform.h
index d13219dbcf5..65107ccfe79 100644
--- a/clang/lib/Sema/TreeTransform.h
+++ b/clang/lib/Sema/TreeTransform.h
@@ -1354,11 +1354,11 @@ public:
/// By default, performs semantic analysis to build the new expression.
/// Subclasses may override this routine to provide different behavior.
OwningExprResult RebuildTypesCompatibleExpr(SourceLocation BuiltinLoc,
- QualType T1, QualType T2,
+ TypeSourceInfo *TInfo1,
+ TypeSourceInfo *TInfo2,
SourceLocation RParenLoc) {
- return getSema().ActOnTypesCompatibleExpr(BuiltinLoc,
- T1.getAsOpaquePtr(),
- T2.getAsOpaquePtr(),
+ return getSema().BuildTypesCompatibleExpr(BuiltinLoc,
+ TInfo1, TInfo2,
RParenLoc);
}
@@ -4855,27 +4855,29 @@ TreeTransform<Derived>::TransformStmtExpr(StmtExpr *E) {
template<typename Derived>
Sema::OwningExprResult
TreeTransform<Derived>::TransformTypesCompatibleExpr(TypesCompatibleExpr *E) {
- QualType T1, T2;
+ TypeSourceInfo *TInfo1;
+ TypeSourceInfo *TInfo2;
{
// FIXME: Source location isn't quite accurate.
TemporaryBase Rebase(*this, E->getBuiltinLoc(), DeclarationName());
- T1 = getDerived().TransformType(E->getArgType1());
- if (T1.isNull())
+ TInfo1 = getDerived().TransformType(E->getArgTInfo1());
+ if (!TInfo1)
return SemaRef.ExprError();
- T2 = getDerived().TransformType(E->getArgType2());
- if (T2.isNull())
+ TInfo2 = getDerived().TransformType(E->getArgTInfo2());
+ if (!TInfo2)
return SemaRef.ExprError();
}
if (!getDerived().AlwaysRebuild() &&
- T1 == E->getArgType1() &&
- T2 == E->getArgType2())
+ TInfo1 == E->getArgTInfo1() &&
+ TInfo2 == E->getArgTInfo2())
return SemaRef.Owned(E->Retain());
return getDerived().RebuildTypesCompatibleExpr(E->getBuiltinLoc(),
- T1, T2, E->getRParenLoc());
+ TInfo1, TInfo2,
+ E->getRParenLoc());
}
template<typename Derived>
OpenPOWER on IntegriCloud