summaryrefslogtreecommitdiffstats
path: root/include/clang/Basic/VersionTuple.h
diff options
context:
space:
mode:
authordim <dim@FreeBSD.org>2015-01-18 16:23:48 +0000
committerdim <dim@FreeBSD.org>2015-01-18 16:23:48 +0000
commitc86b984ea8ecb3e944dc3de48539f4c1f65851ea (patch)
tree3eb853da77d46cc77c4b017525a422f9ddb1385b /include/clang/Basic/VersionTuple.h
parentc696171ff15f0ee60dea4abfd99a135473c95656 (diff)
downloadFreeBSD-src-c86b984ea8ecb3e944dc3de48539f4c1f65851ea.zip
FreeBSD-src-c86b984ea8ecb3e944dc3de48539f4c1f65851ea.tar.gz
Vendor import of clang RELEASE_360/rc1 tag r226102 (effectively, 3.6.0 RC1):
https://llvm.org/svn/llvm-project/cfe/tags/RELEASE_360/rc1@226102
Diffstat (limited to 'include/clang/Basic/VersionTuple.h')
-rw-r--r--include/clang/Basic/VersionTuple.h29
1 files changed, 21 insertions, 8 deletions
diff --git a/include/clang/Basic/VersionTuple.h b/include/clang/Basic/VersionTuple.h
index 54d06e0..77fd947 100644
--- a/include/clang/Basic/VersionTuple.h
+++ b/include/clang/Basic/VersionTuple.h
@@ -24,30 +24,35 @@ namespace clang {
/// \brief Represents a version number in the form major[.minor[.subminor]].
class VersionTuple {
- unsigned Major;
+ unsigned Major : 31;
unsigned Minor : 31;
unsigned Subminor : 31;
unsigned HasMinor : 1;
unsigned HasSubminor : 1;
+ unsigned UsesUnderscores : 1;
public:
VersionTuple()
- : Major(0), Minor(0), Subminor(0), HasMinor(false), HasSubminor(false) { }
+ : Major(0), Minor(0), Subminor(0), HasMinor(false), HasSubminor(false),
+ UsesUnderscores(false) { }
explicit VersionTuple(unsigned Major)
- : Major(Major), Minor(0), Subminor(0), HasMinor(false), HasSubminor(false)
+ : Major(Major), Minor(0), Subminor(0), HasMinor(false), HasSubminor(false),
+ UsesUnderscores(false)
{ }
- explicit VersionTuple(unsigned Major, unsigned Minor)
+ explicit VersionTuple(unsigned Major, unsigned Minor,
+ bool UsesUnderscores = false)
: Major(Major), Minor(Minor), Subminor(0), HasMinor(true),
- HasSubminor(false)
+ HasSubminor(false), UsesUnderscores(UsesUnderscores)
{ }
- explicit VersionTuple(unsigned Major, unsigned Minor, unsigned Subminor)
+ explicit VersionTuple(unsigned Major, unsigned Minor, unsigned Subminor,
+ bool UsesUnderscores = false)
: Major(Major), Minor(Minor), Subminor(Subminor), HasMinor(true),
- HasSubminor(true)
+ HasSubminor(true), UsesUnderscores(UsesUnderscores)
{ }
-
+
/// \brief Determine whether this version information is empty
/// (e.g., all version components are zero).
bool empty() const { return Major == 0 && Minor == 0 && Subminor == 0; }
@@ -69,6 +74,14 @@ public:
return Subminor;
}
+ bool usesUnderscores() const {
+ return UsesUnderscores;
+ }
+
+ void UseDotAsSeparator() {
+ UsesUnderscores = false;
+ }
+
/// \brief Determine if two version numbers are equivalent. If not
/// provided, minor and subminor version numbers are considered to be zero.
friend bool operator==(const VersionTuple& X, const VersionTuple &Y) {
OpenPOWER on IntegriCloud