On Tue, Mar 13, 2018 at 2:29 AM, Ryan VanderMeulen
<rvandermeu...@mozilla.com> 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 
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
dev-platform mailing list

Reply via email to