lebedev.ri accepted this revision. lebedev.ri added a comment. This revision is now accepted and ready to land.
LG in principle. ================ Comment at: include/clang/AST/Expr.h:3029 + assert((CastExprBits.BasePathSize == BasePathSize) && + "BasePathSize overflow!"); assert(CastConsistency()); ---------------- rjmccall wrote: > riccibruno wrote: > > lebedev.ri wrote: > > > riccibruno wrote: > > > > It cannot overflow now, but someone in the future is going > > > > to shrink `CastExprBitfields::BasePathSize`. > > > Can you move that static assert here instead of deleting it? > > I am not sure it is really useful since when someone will want to > > shrink it, it will be stored as `unsigned BasePathSite : x;`. What we > > don't want is having `x` too small. However `numeric_limits` will > > be based on the underlying type of the bit-field and so will never fail. > > > > Storing it as something other than an unsigned, say a short, would work, > > but it will pack poorly with MSVC. > > > > Hopefully the comment in `CastExprBitfields` will tell people to not shrink > > it > > mindlessly. > I agree that the type-based numeric limit is not useful if we're anticipating > it becoming a bit-field. The comment seems fine since it's in the code that > would need to be edited. I'm just worried that now there will be less of a test coverage, The actual run-time test already does not test template instantiation with depth of `16384`, but much less. Repository: rC Clang CHANGES SINCE LAST ACTION https://reviews.llvm.org/D56358/new/ https://reviews.llvm.org/D56358 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits