From: Erik Pilkington Date: Mon, 11 Jul 2016 20:00:48 +0000 (+0000) Subject: [NFC] Reorder fields of VersionTuple to reduce size X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=fe951c48b9cfaf9fff0a5fc987c8c40e252979c6;p=clang [NFC] Reorder fields of VersionTuple to reduce size Differential revision: http://reviews.llvm.org/D19934 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@275095 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/include/clang/Basic/VersionTuple.h b/include/clang/Basic/VersionTuple.h index 784f3f322d..da3b01903e 100644 --- a/include/clang/Basic/VersionTuple.h +++ b/include/clang/Basic/VersionTuple.h @@ -25,39 +25,44 @@ namespace clang { /// \brief Represents a version number in the form major[.minor[.subminor[.build]]]. class VersionTuple { unsigned Major : 31; + + unsigned UsesUnderscores : 1; + unsigned Minor : 31; - unsigned Subminor : 31; - unsigned Build : 31; unsigned HasMinor : 1; + + unsigned Subminor : 31; unsigned HasSubminor : 1; + + unsigned Build : 31; unsigned HasBuild : 1; - unsigned UsesUnderscores : 1; public: VersionTuple() - : Major(0), Minor(0), Subminor(0), Build(0), HasMinor(false), - HasSubminor(false), HasBuild(false), UsesUnderscores(false) {} + : Major(0), UsesUnderscores(false), Minor(0), HasMinor(false), + Subminor(0), HasSubminor(false), Build(0), HasBuild(false) {} explicit VersionTuple(unsigned Major) - : Major(Major), Minor(0), Subminor(0), Build(0), HasMinor(false), - HasSubminor(false), HasBuild(false), UsesUnderscores(false) {} + : Major(Major), UsesUnderscores(false), Minor(0), HasMinor(false), + Subminor(0), HasSubminor(false), Build(0), HasBuild(false) {} explicit VersionTuple(unsigned Major, unsigned Minor, bool UsesUnderscores = false) - : Major(Major), Minor(Minor), Subminor(0), Build(0), HasMinor(true), - HasSubminor(false), HasBuild(false), UsesUnderscores(UsesUnderscores) {} + : Major(Major), UsesUnderscores(UsesUnderscores), Minor(Minor), + HasMinor(true), Subminor(0), HasSubminor(false), Build(0), + HasBuild(false) {} explicit VersionTuple(unsigned Major, unsigned Minor, unsigned Subminor, bool UsesUnderscores = false) - : Major(Major), Minor(Minor), Subminor(Subminor), Build(0), - HasMinor(true), HasSubminor(true), HasBuild(false), - UsesUnderscores(UsesUnderscores) {} + : Major(Major), UsesUnderscores(UsesUnderscores), Minor(Minor), + HasMinor(true), Subminor(Subminor), HasSubminor(true), Build(0), + HasBuild(false) {} explicit VersionTuple(unsigned Major, unsigned Minor, unsigned Subminor, unsigned Build, bool UsesUnderscores = false) - : Major(Major), Minor(Minor), Subminor(Subminor), Build(Build), - HasMinor(true), HasSubminor(true), HasBuild(true), - UsesUnderscores(UsesUnderscores) {} + : Major(Major), UsesUnderscores(UsesUnderscores), Minor(Minor), + HasMinor(true), Subminor(Subminor), HasSubminor(true), Build(Build), + HasBuild(true) {} /// \brief Determine whether this version information is empty /// (e.g., all version components are zero).