Re: PSA: Visual Studio 2017 15.6 now required to build 61+
Bumping to GCC6 has a tracking bug: https://bugzilla.mozilla.org/show_bug.cgi?id=1444274 This would give us general c++14 capability. The only blocker I know of is updating Sixgill's (hazard analysis?) GCC version: https://bugzilla.mozilla.org/show_bug.cgi?id=1444543 If there are no other blockers, upgrading our GCC required version may follow relatively quickly. On Tue, Mar 13, 2018 at 1:34 PM, Jeff Gilbert wrote: > The patches have landed. Thanks! > > Are we ready to update this page?: > https://developer.mozilla.org/en-US/docs/Mozilla/Using_CXX_in_Mozilla_code > > On Mon, Mar 12, 2018 at 5:29 PM, Ryan VanderMeulen > wrote: >> While I know I'm tempting fate by sending this out while the patches are >> still on autoland, I wanted to start giving people a heads-up now that bug >> 1424281 has been pushed, which will make Visual Studio 2017 15.6 (Update 6) >> the minimum version required to build Gecko 61+ once it merges to m-c. >> >> This change brings a number of improvements over version 15.4, which is >> what we've been using in automation since Gecko 58, including performance >> wins and better C++17 support. Release notes for versions 15.5 and 15.6 are >> linked below with more details: >> https://docs.microsoft.com/en-us/visualstudio/releasenotes/vs2017-relnotes-v15.5#a-idlibimprov-a-visual-c-improvements >> https://docs.microsoft.com/en-us/visualstudio/releasenotes/vs2017-relnotes#CPlusPlus >> https://blogs.msdn.microsoft.com/vcblog/2017/12/19/c17-progress-in-vs-2017-15-5-and-15-6/ >> >> If you're currently using Visual Studio 2015, you can download the 2017 >> installer from https://www.visualstudio.com/vs/community/. If you already >> have 2017 installed, you should only need to launch the Visual Studio >> Installer already on your system and follow the update prompts. Note that >> the Windows SDK minimum version was also bumped to version 15063 to match >> what we've been using in automation. It is also installable via the Visual >> Studio Installer if needed. >> >> Enjoy! >> >> -Ryan >> ___ >> dev-platform mailing list >> dev-platform@lists.mozilla.org >> https://lists.mozilla.org/listinfo/dev-platform ___ dev-platform mailing list dev-platform@lists.mozilla.org https://lists.mozilla.org/listinfo/dev-platform
Re: PSA: Visual Studio 2017 15.6 now required to build 61+
The patches have landed. Thanks! Are we ready to update this page?: https://developer.mozilla.org/en-US/docs/Mozilla/Using_CXX_in_Mozilla_code On Mon, Mar 12, 2018 at 5:29 PM, Ryan VanderMeulen wrote: > While I know I'm tempting fate by sending this out while the patches are > still on autoland, I wanted to start giving people a heads-up now that bug > 1424281 has been pushed, which will make Visual Studio 2017 15.6 (Update 6) > the minimum version required to build Gecko 61+ once it merges to m-c. > > This change brings a number of improvements over version 15.4, which is > what we've been using in automation since Gecko 58, including performance > wins and better C++17 support. Release notes for versions 15.5 and 15.6 are > linked below with more details: > https://docs.microsoft.com/en-us/visualstudio/releasenotes/vs2017-relnotes-v15.5#a-idlibimprov-a-visual-c-improvements > https://docs.microsoft.com/en-us/visualstudio/releasenotes/vs2017-relnotes#CPlusPlus > https://blogs.msdn.microsoft.com/vcblog/2017/12/19/c17-progress-in-vs-2017-15-5-and-15-6/ > > If you're currently using Visual Studio 2015, you can download the 2017 > installer from https://www.visualstudio.com/vs/community/. If you already > have 2017 installed, you should only need to launch the Visual Studio > Installer already on your system and follow the update prompts. Note that > the Windows SDK minimum version was also bumped to version 15063 to match > what we've been using in automation. It is also installable via the Visual > Studio Installer if needed. > > Enjoy! > > -Ryan > ___ > dev-platform mailing list > dev-platform@lists.mozilla.org > https://lists.mozilla.org/listinfo/dev-platform ___ dev-platform mailing list dev-platform@lists.mozilla.org https://lists.mozilla.org/listinfo/dev-platform
Re: PSA: Visual Studio 2017 15.6 now required to build 61+
On Tue, Mar 13, 2018 at 09:05:50AM +0200, Henri Sivonen wrote: > On Tue, Mar 13, 2018 at 2:29 AM, Ryan VanderMeulen > wrote: > > While I know I'm tempting fate by sending this out while the patches are > > still on autoland, I wanted to start giving people a heads-up now that bug > > 1424281 has been pushed, which will make Visual Studio 2017 15.6 (Update 6) > > the minimum version required to build Gecko 61+ once it merges to m-c. > > > > This change brings a number of improvements over version 15.4, which is > > what we've been using in automation since Gecko 58, including performance > > wins and better C++17 support. > > Thank you! > > It seems that > https://developer.mozilla.org/en-US/docs/Mozilla/Using_CXX_in_Mozilla_code > doesn't match this information. Also, it seems that last week Gecko > stopped compiling with clang 3.8 even though that page says clang 3.6 > is supported. > > To be clear, I'm not arguing that we should support old compilers, but > it would be good to keep that page up-to-date. > > On the topic of old compilers, it looks like we could get more C++ > features if we changed the minimum gcc requirement. Is Debian > oldstable the current reason for keeping gcc at 4.9? No, the reason we're stuck with 4.9 is that hazard builds are still using 4.9. The GCC plugin used for those builds needs to be updated, and hopefully that will happen soon. > In particular, C++17 structured bindings (gcc 7) would make working > with tuple return values more ergonomic than working with them is > today and more ergonomic than working with outparams. Instead of The best we can bump to right now is GCC 6, which is what we currently use to build the releases. GCC 7 may or may not require more work. > uint32_t result; > size_t read; > size_t written; > bool hadErrors; > Tie(result, read, written, hadErrors) = mDecoder->DecodeToUTF16(...); > > one would write > > auto [result, read, written, hadErrors] = mDecoder->DecodeToUTF16(...); > > bringing ergonomics closer to Rust's ergonomics. I'm not sure type inference in C++ is something to look forward to. In rust, although it can be painful to figure out what type a binding has, at least there's not too many possible coercions. In C++ my gut reaction is that that looks like a foot-chaingun. Mike ___ dev-platform mailing list dev-platform@lists.mozilla.org https://lists.mozilla.org/listinfo/dev-platform
Re: PSA: Visual Studio 2017 15.6 now required to build 61+
On Tue, Mar 13, 2018 at 2:29 AM, Ryan VanderMeulen wrote: > While I know I'm tempting fate by sending this out while the patches are > still on autoland, I wanted to start giving people a heads-up now that bug > 1424281 has been pushed, which will make Visual Studio 2017 15.6 (Update 6) > the minimum version required to build Gecko 61+ once it merges to m-c. > > This change brings a number of improvements over version 15.4, which is > what we've been using in automation since Gecko 58, including performance > wins and better C++17 support. Thank you! It seems that https://developer.mozilla.org/en-US/docs/Mozilla/Using_CXX_in_Mozilla_code doesn't match this information. Also, it seems that last week Gecko stopped compiling with clang 3.8 even though that page says clang 3.6 is supported. To be clear, I'm not arguing that we should support old compilers, but it would be good to keep that page up-to-date. On the topic of old compilers, it looks like we could get more C++ features if we changed the minimum gcc requirement. Is Debian oldstable the current reason for keeping gcc at 4.9? Considering that other LTS distros have occasionally backported gcc in order to keep building Firefox with an in-archive compiler and that Debian is going to need to backport Rust to build the next ESR using in-archive compilers, would it be appropriate for us to require a newer gcc? In particular, C++17 structured bindings (gcc 7) would make working with tuple return values more ergonomic than working with them is today and more ergonomic than working with outparams. Instead of uint32_t result; size_t read; size_t written; bool hadErrors; Tie(result, read, written, hadErrors) = mDecoder->DecodeToUTF16(...); one would write auto [result, read, written, hadErrors] = mDecoder->DecodeToUTF16(...); bringing ergonomics closer to Rust's ergonomics. -- Henri Sivonen hsivo...@hsivonen.fi https://hsivonen.fi/ ___ dev-platform mailing list dev-platform@lists.mozilla.org https://lists.mozilla.org/listinfo/dev-platform
PSA: Visual Studio 2017 15.6 now required to build 61+
While I know I'm tempting fate by sending this out while the patches are still on autoland, I wanted to start giving people a heads-up now that bug 1424281 has been pushed, which will make Visual Studio 2017 15.6 (Update 6) the minimum version required to build Gecko 61+ once it merges to m-c. This change brings a number of improvements over version 15.4, which is what we've been using in automation since Gecko 58, including performance wins and better C++17 support. Release notes for versions 15.5 and 15.6 are linked below with more details: https://docs.microsoft.com/en-us/visualstudio/releasenotes/vs2017-relnotes-v15.5#a-idlibimprov-a-visual-c-improvements https://docs.microsoft.com/en-us/visualstudio/releasenotes/vs2017-relnotes#CPlusPlus https://blogs.msdn.microsoft.com/vcblog/2017/12/19/c17-progress-in-vs-2017-15-5-and-15-6/ If you're currently using Visual Studio 2015, you can download the 2017 installer from https://www.visualstudio.com/vs/community/. If you already have 2017 installed, you should only need to launch the Visual Studio Installer already on your system and follow the update prompts. Note that the Windows SDK minimum version was also bumped to version 15063 to match what we've been using in automation. It is also installable via the Visual Studio Installer if needed. Enjoy! -Ryan ___ dev-platform mailing list dev-platform@lists.mozilla.org https://lists.mozilla.org/listinfo/dev-platform