Re: PSA: Building Firefox 61+ with GCC will soon require version GCC 6.1+

2018-04-09 Thread gsquelart
Good stuff, thanks Jeff!

To be pedantic, don't you mean "start relying on *more* c++14 features"?

Because we've already been able to use some C++14 features since November 2017 
(see bug 1325632, landed in 59).
E.g., I and others have used initialized lambda captures since then -- saving 
quite a bit of boilerplate when capturing RefPtr's, and allowing capture of 
move-only things like UniquePtr.

Gerald


On Friday, April 6, 2018 at 1:00:03 AM UTC+10, Jeff Gilbert wrote:
> Bug 1444274 will bump our minimum GCC version to 6.1. GCC-7 will
> continue to work.
> 
> If you build with GCC instead of Clang on Linux, I've been told that
> the system gcc package for Ubuntu 16.04 LTS is gcc-5, so very soon
> you'll need to install a gcc-6 package to continue to build.
> 
> With a bump to GCC 6, along with the bump to vs2017, we should be able
> to start relying on c++14 features. This will help out with tracking
> upstream projects which are starting to rely in c++14, as well as
> letting us phase in new tools into our c++ toolbox. (relaxed constexpr
> is a big one)
___
dev-platform mailing list
dev-platform@lists.mozilla.org
https://lists.mozilla.org/listinfo/dev-platform


Re: PSA: Building Firefox 61+ with GCC will soon require version GCC 6.1+

2018-04-05 Thread Jeff Gilbert
I have updated our table:
https://developer.mozilla.org/en-US/docs/Mozilla/Using_CXX_in_Mozilla_code

On Mon, Apr 2, 2018 at 5:30 PM, Jeff Gilbert  wrote:
> Bug 1444274 will bump our minimum GCC version to 6.1. GCC-7 will
> continue to work.
>
> If you build with GCC instead of Clang on Linux, I've been told that
> the system gcc package for Ubuntu 16.04 LTS is gcc-5, so very soon
> you'll need to install a gcc-6 package to continue to build.
>
> With a bump to GCC 6, along with the bump to vs2017, we should be able
> to start relying on c++14 features. This will help out with tracking
> upstream projects which are starting to rely in c++14, as well as
> letting us phase in new tools into our c++ toolbox. (relaxed constexpr
> is a big one)
___
dev-platform mailing list
dev-platform@lists.mozilla.org
https://lists.mozilla.org/listinfo/dev-platform


Re: PSA: Building Firefox 61+ with GCC will soon require version GCC 6.1+

2018-04-05 Thread Mike Hommey
On Thu, Apr 05, 2018 at 06:53:52PM +1000, Nicholas Nethercote wrote:
> Thank you for working on this, jgilbert.
> 
> I tried to take advantage of C++14's relaxed constexpr for bug 1451278, but
> I'm getting one test job failure on automation, visible here:
> 
> https://treeherder.mozilla.org/#/jobs?repo=try&revision=bcd8e01989d987268cfb6beb7f86e948eae3730d&selectedJob=172004924

That's a funny error. But the most important bit of information is
missing, so one can only conjecture.

So, cmake is used to build jsglue.cpp for the rust js crate. It properly
uses GCC 6.4 from the right directory, yet fails to build. GCC 6.4
*defaults* to C++14, so I can only conjecture that cmake is explicitly
passing some argument that makes it use an older C++ version, because
the log doesn't say what command line was used to invoke GCC.

(If someone feels like removing the use of cmake, be my guest, we surely
don't want that to slip in when those bindings become necessary for
gecko ; ironically, it's used to build *one* file. Why the rust cc crate
is not used instead is beyond me)

Mike
___
dev-platform mailing list
dev-platform@lists.mozilla.org
https://lists.mozilla.org/listinfo/dev-platform


Re: PSA: Building Firefox 61+ with GCC will soon require version GCC 6.1+

2018-04-05 Thread Nicholas Nethercote
Thank you for working on this, jgilbert.

I tried to take advantage of C++14's relaxed constexpr for bug 1451278, but
I'm getting one test job failure on automation, visible here:

https://treeherder.mozilla.org/#/jobs?repo=try&revision=bcd8e01989d987268cfb6beb7f86e948eae3730d&selectedJob=172004924

It's the "spidermonkey-sm-rust-bindings-linux64/debug" job, which is
presumably still using an old version of GCC. It's a tier 2 job. Does
anyone know if it's important, and if so, how it should be updated?

Thanks.

Nick

On Tue, Apr 3, 2018 at 10:30 AM, Jeff Gilbert  wrote:

> Bug 1444274 will bump our minimum GCC version to 6.1. GCC-7 will
> continue to work.
>
> If you build with GCC instead of Clang on Linux, I've been told that
> the system gcc package for Ubuntu 16.04 LTS is gcc-5, so very soon
> you'll need to install a gcc-6 package to continue to build.
>
> With a bump to GCC 6, along with the bump to vs2017, we should be able
> to start relying on c++14 features. This will help out with tracking
> upstream projects which are starting to rely in c++14, as well as
> letting us phase in new tools into our c++ toolbox. (relaxed constexpr
> is a big one)
> ___
> dev-builds mailing list
> dev-bui...@lists.mozilla.org
> https://lists.mozilla.org/listinfo/dev-builds
>
___
dev-platform mailing list
dev-platform@lists.mozilla.org
https://lists.mozilla.org/listinfo/dev-platform


PSA: Building Firefox 61+ with GCC will soon require version GCC 6.1+

2018-04-05 Thread Jeff Gilbert
Bug 1444274 will bump our minimum GCC version to 6.1. GCC-7 will
continue to work.

If you build with GCC instead of Clang on Linux, I've been told that
the system gcc package for Ubuntu 16.04 LTS is gcc-5, so very soon
you'll need to install a gcc-6 package to continue to build.

With a bump to GCC 6, along with the bump to vs2017, we should be able
to start relying on c++14 features. This will help out with tracking
upstream projects which are starting to rely in c++14, as well as
letting us phase in new tools into our c++ toolbox. (relaxed constexpr
is a big one)
___
dev-platform mailing list
dev-platform@lists.mozilla.org
https://lists.mozilla.org/listinfo/dev-platform