diff --git a/clang/include/clang/AST/ASTContext.h b/clang/include/clang/AST/ASTContext.h index 8914c6a491536..1e65b6a24c63c 100644 --- a/clang/include/clang/AST/ASTContext.h +++ b/clang/include/clang/AST/ASTContext.h @@ -804,6 +804,7 @@ class ASTContext : public RefCountedBase { struct AvailabilityDomainInfo { FeatureAvailKind Kind = FeatureAvailKind::None; + Decl *Decl = nullptr; ImplicitCastExpr *Call = nullptr; bool isInvalid() const { return Kind == FeatureAvailKind::None; } }; diff --git a/clang/lib/AST/ASTContext.cpp b/clang/lib/AST/ASTContext.cpp index 81055b45f0210..1e00b41cd8149 100644 --- a/clang/lib/AST/ASTContext.cpp +++ b/clang/lib/AST/ASTContext.cpp @@ -950,7 +950,7 @@ ASTContext::getFeatureAvailInfo(Decl *D) const { llvm_unreachable("invalid feature kind"); } - ASTContext::AvailabilityDomainInfo Info{Kind, nullptr}; + ASTContext::AvailabilityDomainInfo Info{Kind, D, nullptr}; if (Kind == FeatureAvailKind::Dynamic) { Expr *FnExpr = Init->getInit(1);