[clang] [Clang] Fix dependency computation for pack indexing expression (PR #91933)
Younan Zhang via cfe-commits
cfe-commits at lists.llvm.org
Mon May 13 01:54:14 PDT 2024
================
@@ -376,6 +376,9 @@ ExprDependence clang::computeDependence(PackExpansionExpr *E) {
ExprDependence clang::computeDependence(PackIndexingExpr *E) {
ExprDependence D = E->getIndexExpr()->getDependence();
+ if (D & ExprDependence::Value)
+ D |= ExprDependence::TypeInstantiation;
----------------
zyn0217 wrote:
Does it mean "if the index expression is value-dependent, then the whole `PackIndexingExpr` is type-dependent despite its expressions"? For example,
```cpp
template <int N, int... E>
auto foo() {
return E...[N];
}
```
Should `E...[N]` be treated as type-dependent regardless of the result being always an int?
https://github.com/llvm/llvm-project/pull/91933
More information about the cfe-commits
mailing list