summaryrefslogtreecommitdiffstats
path: root/clang-tools-extra/clangd/AST.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'clang-tools-extra/clangd/AST.cpp')
-rw-r--r--clang-tools-extra/clangd/AST.cpp7
1 files changed, 7 insertions, 0 deletions
diff --git a/clang-tools-extra/clangd/AST.cpp b/clang-tools-extra/clangd/AST.cpp
index c800ee870dc..836eb6a3645 100644
--- a/clang-tools-extra/clangd/AST.cpp
+++ b/clang-tools-extra/clangd/AST.cpp
@@ -473,5 +473,12 @@ std::string getQualification(ASTContext &Context,
});
}
+bool hasUnstableLinkage(const Decl *D) {
+ // Linkage of a ValueDecl depends on the type.
+ // If that's not deduced yet, deducing it may change the linkage.
+ auto *VD = llvm::dyn_cast_or_null<ValueDecl>(D);
+ return VD && !VD->getType().isNull() && VD->getType()->isUndeducedType();
+}
+
} // namespace clangd
} // namespace clang
OpenPOWER on IntegriCloud