================
@@ -185,13 +185,12 @@ enum class TemplateSubstitutionKind : char {
return !(*this)(Depth, Index).isNull();
}
- bool isAnyArgInstantiationDependent(const ASTContext &C) const {
+ bool isAnyArgDependent(const ASTContext &C) const {
for (ArgumentListLevel ListLevel : TemplateArgumentLists)
for (const TemplateArgument &TA : ListLevel.Args)
// There might be null template arguments representing unused
template
// parameter mappings in an MLTAL during concept checking.
- if (!TA.isNull() &&
- C.getCanonicalTemplateArgument(TA).isInstantiationDependent())
+ if (!TA.isNull() && C.getCanonicalTemplateArgument(TA).isDependent())
----------------
mizvekov wrote:
Is there a difference to checking if the node is dependent, instead of the
canonical node?
I don't think there can be such a node that can be canonically dependent, where
the non-canonical form is not, outside of bugs.
For expressions, again this canonicalization doesn't do anything at all since
they don't have a canonical form.
Could you add a few tests equivalent to the existing one, for the original PR,
where they also check the other kinds of template arguments? At least one more
for expressions, but one for TemplateName would be nice as well.
https://github.com/llvm/llvm-project/pull/185608
_______________________________________________
cfe-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits