[PATCH] D55534: [AST] Store "UsesADL" information in CallExpr.
Richard Smith - zygoloid via Phabricator via cfe-commits
cfe-commits at lists.llvm.org
Tue Dec 11 09:42:46 PST 2018
rsmith added inline comments.
================
Comment at: include/clang/Sema/Sema.h:2758
bool AllowExplicit = false,
+ bool IsADLCandidate = false,
ConversionSequenceList EarlyConversions = None);
----------------
Long lists of bool arguments make me nervous, especially with default arguments. Can you introduce an enum for the new param at least?
================
Comment at: lib/AST/ASTImporter.cpp:7387
return new (Importer.getToContext()) CallExpr(
Importer.getToContext(), ToCallee, ToArgs, ToType, E->getValueKind(),
ToRParenLoc);
----------------
Do we need to pass through the usesADL flag here too?
================
Comment at: lib/AST/Expr.cpp:1267
: Expr(SC, Empty), NumArgs(NumArgs) {
+ CallExprBits.UsesADL = false;
CallExprBits.NumPreArgs = NumPreArgs;
----------------
EricWF wrote:
> riccibruno wrote:
> > It do not really matter but there is not point initializing this bit here.
> I'm a but nervous MSAN won't catch an uninitialized read because it's a bitfield, so I would rather be safe than sorry?
IIRC all the ExprBits get initialized by the Expr(EmptyShell) ctor.
================
Comment at: lib/Sema/SemaExpr.cpp:5673
+ if (Config) {
TheCall = new (Context)
CUDAKernelCallExpr(Context, Fn, cast<CallExpr>(Config), Args, ResultTy,
----------------
If you believe that CUDA kernel calls can't find functions with ADL, please add an assert here.
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D55534/new/
https://reviews.llvm.org/D55534
More information about the cfe-commits
mailing list