summaryrefslogtreecommitdiffstats
path: root/clang/lib/AST/Decl.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'clang/lib/AST/Decl.cpp')
-rw-r--r--clang/lib/AST/Decl.cpp14
1 files changed, 14 insertions, 0 deletions
diff --git a/clang/lib/AST/Decl.cpp b/clang/lib/AST/Decl.cpp
index 4486cb89404..98711822a51 100644
--- a/clang/lib/AST/Decl.cpp
+++ b/clang/lib/AST/Decl.cpp
@@ -3446,6 +3446,20 @@ unsigned FunctionDecl::getMemoryFunctionKind() const {
return 0;
}
+void FunctionDecl::addDeferredDiag(PartialDiagnosticAt PD) {
+ getASTContext().getDeferredDiags()[this].push_back(std::move(PD));
+}
+
+std::vector<PartialDiagnosticAt> FunctionDecl::takeDeferredDiags() const {
+ auto &DD = getASTContext().getDeferredDiags();
+ auto It = DD.find(this);
+ if (It == DD.end())
+ return {};
+ auto Ret = std::move(It->second);
+ DD.erase(It);
+ return Ret;
+}
+
//===----------------------------------------------------------------------===//
// FieldDecl Implementation
//===----------------------------------------------------------------------===//
OpenPOWER on IntegriCloud