Version 4.10, December 23, 2014

1) This version provides the following new C++14 features:

   - Lambdas can specify expressions, not just local variables, to be captured.
     For example:

       auto l = [x = 42]{ return x + 1; };

    - Generic lambdas are accepted, allowing auto parameters to define a call
      operator template.  For example:

        auto l = [](auto p) { return p*2; };

    - Binary literals and apostrophes as digit separators in numeric literals
      are accepted.

        int i = 0b0110;
        long l = 123'456'789; // Equivalent to 123456789

2) __cpluplus in C++14 modes:

   The standard for C++14 has now been approved and specifies the value of
   the __cplusplus predefined macro as 201402L.  The front end uses that
   value when --c++14 mode is specified, except that in Microsoft and GNU
   modes it adopts the value set by those compilers.  See the Changes
   file for more details.

3) GNU statement expressions with class type results:

   Version 4.9 of the front end enabled the ability to have destructible
   entities in GNU statement expressions (GSEs), but with the restriction
   that the result expression of a GSE cannot be of a class type requiring
   nontrivial copy construction or nontrivial destruction.  This restriction
   has been removed.  For example:

     struct D { D(D const&); };
     D g(D d) {
       return ({ d; });  // Now accepted.
    }

4) Performance improvements:

   As part of what will be an ongoing effort, a number of changes were made
   to improve the overall speed of the front end.  This has generally resulted
   in an improvement between 1 and 6 percent in our testing, but can be
   significantly more for some IA-64 mangling cases.

As usual, we have fixed bugs, added many minor features, and continued to
improve our various compatibility modes.  See the Changes_4.10 file for
full details (about 4,300 lines).
