aaron.ballman added inline comments.
================
Comment at: lib/AST/Expr.cpp:1272-1274
+ for (unsigned I = NumArgs; I != NumArgsAllocated; ++I) {
+ TrailingArgs[I] = nullptr;
}
----------------
Could use `std::fill()` here to remove the for-loop. Your call whether that
looks cleaner or not.
================
Comment at: lib/Sema/SemaExpr.cpp:5810
+ // However it may not have been constructed with enough storage. In this
+ // case rebuild the node with enough storage. The waste of space is
+ // immaterial since this only happens when some typos were corrected.
----------------
case rebuild -> case, rebuild
================
Comment at: lib/Sema/SemaOverload.cpp:12909-12910
+ call->setNumArgsUnsafe(
+ std::max<unsigned>(Args.size(), proto->getNumParams()));
if (ConvertArgumentsForCall(call, op, nullptr, proto, Args, RParenLoc))
----------------
Oye. When we had to call this hack in one place, I could hold my nose, but
having to call it randomly any time something like a call expression is created
is a bit too much for me.
How awful is the alternative fix, such as making things resilient to null
parameters in `BuildResolvedCallExpr()`?
Repository:
rC Clang
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D57948/new/
https://reviews.llvm.org/D57948
_______________________________________________
cfe-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits