================ @@ -2255,7 +2255,7 @@ SourceLocExpr::SourceLocExpr(const ASTContext &Ctx, SourceLocIdentKind Kind, SourceLocExprBits.Kind = llvm::to_underlying(Kind); // In dependent contexts, function names may change. setDependence(MayBeDependent(Kind) && ParentContext->isDependentContext() - ? ExprDependence::Value + ? ExprDependence::ValueInstantiation ---------------- mizvekov wrote:
The change looks correct in so far as it doesn't make sense to set value dependence by itself, without also setting instantiation dependence. Value dependence means we don't know the value of this expression yet, as it depends on template parameters. Instantiation dependence means this expression depends on template parameters, or rather actually, depends on instantiation somehow, even if the type or value might be known so far, if the expression doesn't turn out to be invalid after instantiation. So value or type dependence should always imply instantiation dependence, but not the other way around. https://github.com/llvm/llvm-project/pull/187755 _______________________________________________ cfe-commits mailing list [email protected] https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
