On 1/8/2015 9:16 PM, Joshua Cranmer 🐧 wrote:
On 1/6/2015 3:33 PM, Ehsan Akhgari wrote:
I just landed bug  to remove support for building with Visual C++ 2012 as
per the previous dev-platform thread.

Trevor Saunders has just landed the patch to de-support gcc 4.4 and 4.5
on mozilla-inbound, and it should move to mozilla-central shortly. In
addition to the C++11 features enabled by are very recent landing of
min-MSVC 2013 (reproduced afterwards), this admits the possibility to
use the following features:
* Lambdas
* nullptr/std::nullptr_t
* Forward declaration of enums
* Explicit operator conversion (most notably, explicit operator bool())
* Raw string literals
* Range-based for loops
* Local structs as template parameters

I have not yet updated the Using C++ in mozilla code page yet, since I
need to ascertain what the bugs are in gcc 4.6 and gcc 4.7 that may
preclude certain uses of these features.

Or, if it tickles your fancy, it may be simpler at this point to list
the C++11 features not yet usable:
- ref qualifiers on methods
- member initializers
- templated aliasing
- C++11 attributes (although many of the important ones are already in
some macro somewhere)
- constexpr
- alignof/alignas
- delegated constructors
- inherited constructors
- char16_t [ but we polyfill this anyways]
- user-defined literals
- unrestricted unions
- override/final (already polyfilled)
- thread-local storage (ditto)

As a reminder, the ability to use C++11 features doesn't necessarily
mean that doing so is kosher per our style guidelines.
This will make the following C++11 features available to use in Mozilla
code:

* variadic templates
* initializer lists
* =delete (we can probably remove MOZ_DELETE now)
* =default
* function template default arguments


I had to back this out for the time-being. Some B2G device image builds are still on gcc 4.4.

-Ryan
_______________________________________________
dev-platform mailing list
dev-platform@lists.mozilla.org
https://lists.mozilla.org/listinfo/dev-platform

Reply via email to