lebedev.ri added inline comments.
================ Comment at: include/clang/AST/Expr.h:2791 +public: + using BasePathSizeTy = unsigned short; + static_assert(std::numeric_limits<BasePathSizeTy>::max() >= 16384, ---------------- erichkeane wrote: > I'll let @rjmccall comment here, but I think I'd be willing to give up 2 more > bytes here and just go with unsigned int. It has the advantage of likely > never being an issue again (since 4 billion bases is not an issue). > > We might be paying for those 2 ANYWAY with alignment as well, right? Yes, i do expect that we are paying for 2 bytes in padding already. ================ Comment at: include/clang/AST/Expr.h:2805 + } + BasePathSizeTy &BasePathSize(); + ---------------- erichkeane wrote: > Why is this a reference? This seems odd... It seems that the const-cast > magic above shouldn't be necessary either. I'll make it a pointer and replace `BasePathSizeTy BasePathSize() const` with `path_size()`. I don't really think it would be good to get rid of this pointer/reference, since then we'd have more than one function doing what `CastExpr::BasePathSizeTy *CastExpr::BasePathSize()` does now. Repository: rC Clang https://reviews.llvm.org/D50050 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits