================
@@ -216,8 +216,14 @@ static Cl::Kinds ClassifyInternal(ASTContext &Ctx, const 
Expr *E) {
     return ClassifyInternal(Ctx,
                  cast<SubstNonTypeTemplateParmExpr>(E)->getReplacement());
 
-  case Expr::PackIndexingExprClass:
+  case Expr::PackIndexingExprClass: {
+    // A dependent pack-index-expression is now supposed to denote a function
+    // parameter pack, an NTTP pack, or the pack introduced by a structured
+    // binding. Consider it as an LValue expression.
+    if (cast<PackIndexingExpr>(E)->isInstantiationDependent())
+      return Cl::CL_LValue;
----------------
cor3ntin wrote:

```suggestion
  case Expr::PackIndexingExprClass: {
    // A pack-index-expression always expand to an id-expression. 
    Consider it as an LValue expression.
    if (cast<PackIndexingExpr>(E)->isInstantiationDependent())
      return Cl::CL_LValue;
```

https://github.com/llvm/llvm-project/pull/90195
_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to