diff options
author | Rafael Espindola <rafael.espindola@gmail.com> | 2013-05-27 14:14:42 +0000 |
---|---|---|
committer | Rafael Espindola <rafael.espindola@gmail.com> | 2013-05-27 14:14:42 +0000 |
commit | 88ce12aaf6f0a5a55a458ad152218b4072456ee6 (patch) | |
tree | 3b98e564e80dc87fbeaef2e8bbd6f4bbf5f641f3 /include/clang/Basic/Linkage.h | |
parent | 512843a7dc01a4f1755e699d1e394a691a39c176 (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.h | 16 |
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 |