It turns out that there's no need to revert this as the problem persists even without your patch. I'm preparing a patch that fixes the underlying issue.
- V. Kalintiris ________________________________________ From: cfe-commits [cfe-commits-boun...@lists.llvm.org] on behalf of Vasileios Kalintiris via cfe-commits [cfe-commits@lists.llvm.org] Sent: 06 September 2016 10:12 To: Erik Pilkington; cfe-commits@lists.llvm.org Subject: RE: r275095 - [NFC] Reorder fields of VersionTuple to reduce size Hi Erik, would you mind reverting this temporarily? It broke our recursive builds buildbot because the re-ordering of VersionTuple's bitfields generates an i128 which our MIPS backend erroneously accepts for the o32 ABI. - V. Kalintiris ________________________________________ From: cfe-commits [cfe-commits-boun...@lists.llvm.org] on behalf of Erik Pilkington via cfe-commits [cfe-commits@lists.llvm.org] Sent: 11 July 2016 21:00 To: cfe-commits@lists.llvm.org Subject: r275095 - [NFC] Reorder fields of VersionTuple to reduce size Author: epilk Date: Mon Jul 11 15:00:48 2016 New Revision: 275095 URL: http://llvm.org/viewvc/llvm-project?rev=275095&view=rev Log: [NFC] Reorder fields of VersionTuple to reduce size Differential revision: http://reviews.llvm.org/D19934 Modified: cfe/trunk/include/clang/Basic/VersionTuple.h Modified: cfe/trunk/include/clang/Basic/VersionTuple.h URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/Basic/VersionTuple.h?rev=275095&r1=275094&r2=275095&view=diff ============================================================================== --- cfe/trunk/include/clang/Basic/VersionTuple.h (original) +++ cfe/trunk/include/clang/Basic/VersionTuple.h Mon Jul 11 15:00:48 2016 @@ -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). _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits