sammccall added inline comments.

================
Comment at: clang/lib/Sema/SemaExpr.cpp:6437
 
+  if (getLangOpts().CDependence &&
+      (Fn->isTypeDependent() || Expr::hasAnyTypeDependentArguments(ArgExprs))) 
{
----------------
why is CDependence a condition and not an assertion inside the if?
(If it's for performance, then we're going to lose this performance when 
flipping the flag, so I'd consider just flipping it now)

If you're using it as a short-hand for "is this plain C and also has recovery 
enabled" then I'd avoid that - it's not clear that this is a language check.


================
Comment at: clang/lib/Sema/SemaExpr.cpp:6444
+               "should only occur in error-recovery path.");
+    return CallExpr::Create(Context, Fn, ArgExprs, Context.DependentTy,
+                            VK_RValue, RParenLoc);
----------------
Is this really the right place vs in BuildResolvedCallExpr?


================
Comment at: clang/lib/Sema/SemaExpr.cpp:6444
+               "should only occur in error-recovery path.");
+    return CallExpr::Create(Context, Fn, ArgExprs, Context.DependentTy,
+                            VK_RValue, RParenLoc);
----------------
sammccall wrote:
> Is this really the right place vs in BuildResolvedCallExpr?
why DependentTy? shouldn't it be the return type of the function, if available?


================
Comment at: clang/test/AST/ast-dump-recovery.c:70
+  // in Sema::CheckPlaceholderExpr.
+  // CHECK-NOT: DeclRefExpr {{.*}} 'ext' 'int (int)'
+  ext(undef_var);
----------------
i'm not sure what the `int (int)` is about - can you remove it from the 
assertion?


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D84304/new/

https://reviews.llvm.org/D84304

_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to