[cfe-commits] r110663 - in /cfe/trunk: include/clang/AST/Expr.h include/clang/AST/RecursiveASTVisitor.h lib/Frontend/PCHReaderStmt.cpp lib/Frontend/PCHWriterStmt.cpp lib/Sema/Sema.h lib/Sema/SemaExpr.cpp lib/Sema/TreeTransform.h

Douglas Gregor dgregor at apple.com
Tue Aug 10 07:35:27 PDT 2010


On Aug 10, 2010, at 1:50 AM, Abramo Bagnara wrote:

> Author: abramo
> Date: Tue Aug 10 03:50:03 2010
> New Revision: 110663
> 
> URL: http://llvm.org/viewvc/llvm-project?rev=110663&view=rev
> Log:
> Added TypeLocs to TypesCompatibleExpr node.

Very nice!

> @@ -4855,27 +4855,29 @@
> 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();
>   }

FWIW, the TemporaryBase object is not needed when the type transformation is performed on a TypeSourceInfo*. I went ahead and removed the (now unnused) TemporaryBase objects.

	- Doug



More information about the cfe-commits mailing list