sammccall accepted this revision.
sammccall added inline comments.
This revision is now accepted and ready to land.


================
Comment at: clang/lib/AST/ComputeDependence.cpp:131
 ExprDependence clang::computeDependence(StmtExpr *E, unsigned TemplateDepth) {
   // FIXME: why is unexpanded-pack not propagated?
   auto D = toExprDependence(E->getType()->getDependence()) &
----------------
I think I know the answer now - you can't expand a param pack over stmtexpr 
boundaries. Could repace this comment...


================
Comment at: clang/lib/AST/ComputeDependence.cpp:132
   // FIXME: why is unexpanded-pack not propagated?
   auto D = toExprDependence(E->getType()->getDependence()) &
            ~ExprDependence::UnexpandedPack;
----------------
I wonder if this is still needed - how can we get a type for the stmtexpr 
unless we have a result expr providing the type?


================
Comment at: clang/lib/AST/ComputeDependence.cpp:134
            ~ExprDependence::UnexpandedPack;
   // Note: we treat a statement-expression in a dependent context as always
   // being value- and instantiation-dependent. This matches the behavior of
----------------
Nit: i'd probably leave this as the last clause as it's the weird edge case.


================
Comment at: clang/lib/AST/ComputeDependence.cpp:140
+
+  // Populate dependence bits from the expr that consider to be the result
+  // of the compound statements.
----------------
Maybe just "propagate dependence of the result"? The compound statement seems 
like a red herring.


================
Comment at: clang/lib/AST/ComputeDependence.cpp:145
+    if (const Expr *ResultExpr = CompoundExprResult->getExprStmt())
+      D |= ResultExpr->getDependence();
   return D;
----------------
this should avoid propagating the pack bit as above (or factor it out and mask 
it off at the end to avoid writing it twice)


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D81154



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

Reply via email to