On 11/10/2013 11:54 AM, Jonathan Wakely wrote:
On 10 November 2013 16:52, Jonathan Wakely <jwakely....@gmail.com> wrote:
I thought I'd already made similar changes to gcc-4.9/changes.html for
the C++14 changes but I never committed it. The only comment I have
is that "chrono" isn't a type, but the change is fine as far as I'm
concerned, thanks.
Oh, and optional isn't part of C++14.
Right. i guess there are interesting conversations to be had about how
we document and flag all these TSs and constraints...
Here's what I had, although it
doesn't mention all the changes:
Index: changes.html
===================================================================
RCS file: /cvs/gcc/wwwdocs/htdocs/gcc-4.9/changes.html,v
retrieving revision 1.31
diff -u -r1.31 changes.html
--- changes.html 31 Oct 2013 18:03:28 -0000 1.31
+++ changes.html 10 Nov 2013 16:53:19 -0000
@@ -142,8 +142,20 @@
<ul>
<li><a
href="http://gcc.gnu.org/onlinedocs/libstdc++/manual/status.html#status.iso.2011">
- Improved support for C++11</a>, including support for <regex>.
+ Improved support for C++11</a>, including support for
<code><regex></code>.
</li>
+ <li>Experimental support for most C++1y library features, including:
+ <ul>
+ <li>User-defined literals for strings, durations and complex
numbers.</li>
+ <li>Additional overloads for <code>std::equal</code>,
<code>std::mismatch</code>
+ and <code>std::is_permutation</code>.</li>
+ <li><code>std::make_unique</code></li>
+ <li><code>std::quoted</code></li>
+ <li><code>std::shared_lock</code></li>
+ <li><code>std::integer_sequence</code></li>
+ </ul>
+ </li>
+ <li>An implementation of <code>std::experimental::optional</code>.</li>
<li>The non-standard function <code>std::copy_exception</code>
has been deprecated
and will be removed in a future version.
<code>std::make_exception_ptr</code>
should be used instead.
OK, I folded our versions together. Thank you. I also fixed up my code
examples.
OK?
Ed
Index: htdocs/projects/cxx1y.html
===================================================================
RCS file: /cvs/gcc/wwwdocs/htdocs/projects/cxx1y.html,v
retrieving revision 1.8
diff -r1.8 cxx1y.html
113,114c113,115
< <td><a href="http://isocpp.org/files/papers/n3760.htm">N3760</a></td>
< <td class="unsupported" align="center">No</td>
---
> <td><a
> href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2013/n3760.html">N3760</a></td>
> <td class="supported" align="center">
> <a href="../gcc-4.9/changes.html#cxx">4.9</a> (N3797)</td>
118,119c119,121
< <td><a href="http://isocpp.org/files/papers/N3781.pdf">N3781</a></td>
< <td class="unsupported" align="center">No</td>
---
> <td><a
> href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2013/n3781.pdf">N3781</a></td>
> <td class="supported" align="center">
> <a href="../gcc-4.9/changes.html#cxx">4.9</a> (N3797)</td>
Index: htdocs/gcc-4.9/changes.html
===================================================================
RCS file: /cvs/gcc/wwwdocs/htdocs/gcc-4.9/changes.html,v
retrieving revision 1.32
diff -r1.32 changes.html
150a151,183
> <li>
> G++ supports the <a href="../projects/cxx1y.html">C++1y</a> [[deprecated]]
> attribute modulo bugs in the underying [[gnu::deprecated]] attribute.
> Classes
> and functions can be marked deprecated and
> <blockquote><pre>
> class A;
> int bar(int n);
> #if __cplusplus > 201103
> class [[deprecated("A is deprecated in C++14; Use B instead")]] A;
> [[deprecated("bar is unsafe; use foo() instead")]]
> int bar(int n);
>
> int foo(int n);
> class B;
> #endif
> A aa; // warning: 'A' is deprecated : A is deprecated in C++14; Use B instead
> int j = bar(2); // warning: 'int bar(int)' is deprecated : bar is unsafe; use
> foo() instead
> </pre></blockquote>
> </li>
> <li>
> G++ supports <a href="../projects/cxx1y.html">C++1y</a> digit separators.
> Long numeric literals can be subdivided with a single quote ' to enhance
> readability:
> <blockquote><pre>
> int i = 1048576;
> int j = 1'048'576;
> int k = 0x10'0000;
> int m = 0'004'000'000;
> int n = 0b0001'0000'0000'0000'0000'0000;
>
> double x = 1.602'176'565e-19;
> double y = 1.602'176'565e-1'9;
> </pre></blockquote>
> </li>
157c190
< Improved support for C++11</a>, including support for <regex>.
---
> Improved support for C++11</a>, including support for
> <code><regex></code>.
158a192,217
> <li><a
> href="http://gcc.gnu.org/onlinedocs/libstdc++/manual/status.html#status.iso.2014">
> Improved experimental support for the upcoming ISO C++ standard,
> C++14</a>,
> including:
> <ul>
> <li> fixing <code>constexpr</code> member functions without
> <code>const</code>; </li>
> <li> implementation of the <code>std::exchange()</code> utility
> function; </li>
> <li> addressing tuples by type; </li>
> <li> implemention of <code>std::make_unique</code>; </li>
> <li> implemention of <code>std::shared_lock</code>; </li>
> <li> making <code>std::result_of</code> SFINAE-friendly; </li>
> <li> adding <code>operator()</code> to
> <code>integral_constant</code>; </li>
> <li> adding user-defined literals for standard library types
> </code>std::basic_string</code>,
> </code>std::chrono::duration</code>,
> and </code>std::complex</code>; </li>
> <li> adding two range overloads to non-modifying sequence oprations
> <code>std::equal</code> and <code>std::mismatch</code>; </li>
> <li> adding IO manipulators for quoted strings; </li>
> <li> adding <code>constexpr</code> members to
> <code><utility></code>,
> <code><complex></code>, <code><chrono></code>, and
> some containers; </li>
> <li> adding compile-time <code>std::integer_sequence</code>; </li>
> <li> adding cleaner transformation traits; </li>
> <li> making <code><functional></code>s operator functors easier
> to use
> and more generic; </li>
> </ul>
> </li>
> <li>An implementation of <code>std::experimental::optional</code>.</li>