summaryrefslogtreecommitdiffstats
path: root/include/clang/Basic/Linkage.h
diff options
context:
space:
mode:
authorRafael Espindola <rafael.espindola@gmail.com>2013-05-27 14:14:42 +0000
committerRafael Espindola <rafael.espindola@gmail.com>2013-05-27 14:14:42 +0000
commit88ce12aaf6f0a5a55a458ad152218b4072456ee6 (patch)
tree3b98e564e80dc87fbeaef2e8bbd6f4bbf5f641f3 /include/clang/Basic/Linkage.h
parent512843a7dc01a4f1755e699d1e394a691a39c176 (diff)
Move 3 helper function to Linkage.h
This removes a duplicate from Decl.cpp and a followup patch will use isExternallyVisible. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@182735 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'include/clang/Basic/Linkage.h')
-rw-r--r--include/clang/Basic/Linkage.h16
1 files changed, 16 insertions, 0 deletions
diff --git a/include/clang/Basic/Linkage.h b/include/clang/Basic/Linkage.h
index 7f9ce6a909..699620784e 100644
--- a/include/clang/Basic/Linkage.h
+++ b/include/clang/Basic/Linkage.h
@@ -66,6 +66,22 @@ enum GVALinkage {
GVA_ExplicitTemplateInstantiation
};
+inline bool isExternallyVisible(Linkage L) {
+ return L == ExternalLinkage || L == VisibleNoLinkage;
+}
+
+inline Linkage getFormalLinkage(Linkage L) {
+ if (L == UniqueExternalLinkage)
+ return ExternalLinkage;
+ if (L == VisibleNoLinkage)
+ return NoLinkage;
+ return L;
+}
+
+inline bool isExternalFormalLinkage(Linkage L) {
+ return getFormalLinkage(L) == ExternalLinkage;
+}
+
/// \brief Compute the minimum linkage given two linkages.
///
/// The linkage can be interpreted as a pair formed by the formal linkage and