Re: PSA: Visual Studio 2017 15.6 now required to build 61+

2018-03-13 Thread Jeff Gilbert
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+

2018-03-13 Thread Jeff Gilbert
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+

2018-03-13 Thread Mike Hommey
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+

2018-03-13 Thread Henri Sivonen
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+

2018-03-12 Thread Ryan VanderMeulen
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