aaron.ballman added inline comments. ================ Comment at: lib/AST/Expr.cpp:67 @@ -65,3 +66,3 @@ E = CE->getSubExpr(); - CXXRecordDecl *Derived + auto *Derived = cast<CXXRecordDecl>(E->getType()->getAs<RecordType>()->getDecl()); ---------------- Again, I don't think it is an improvement when the deduced type is on a different line (here and elsewhere).
================ Comment at: lib/AST/Expr.cpp:1956 @@ -1967,1 +1955,3 @@ + for (const auto &I : InitExprs) { + if (Stmt *S = I) { Beg = S->getLocStart(); ---------------- Is this line still required? I thought InitExprs was already a vector of Stmt objects. I think it should be a const auto * instead of const auto & as well. ================ Comment at: lib/AST/Expr.cpp:3715 @@ -3741,3 +3714,3 @@ assert(D.Kind == Designator::ArrayDesignator && "Requires array designator"); - Stmt *const *SubExprs = reinterpret_cast<Stmt *const *>(this + 1); + auto SubExprs = reinterpret_cast<Stmt *const *>(this + 1); return cast<Expr>(*(SubExprs + D.ArrayOrRange.Index + 1)); ---------------- Hmmm, I'm not certain this is an improvement. It lacks the information that SubExprs is a pointer to a pointer, and it lacks the constness information. I would revert this one (and the next two). Repository: rL LLVM http://reviews.llvm.org/D15388 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits