OSDN Git Service

* doc/xml/manual/status_cxx2011.xml: Document that N3189 is missing.
[pf3gnuchains/gcc-fork.git] / libstdc++-v3 / doc / xml / manual / status_cxx2011.xml
index 6f53a73..e26db6f 100644 (file)
@@ -158,10 +158,13 @@ particular release.
       <entry>C library dependency for quick_exit, at_quick_exit</entry>
     </row>
     <row>
+      <?dbhtml bgcolor="#B0B0B0" ?>
       <entry>18.6</entry>
       <entry>Dynamic memory management</entry>
-      <entry>Y</entry>
-      <entry/>
+      <entry>Partial</entry>
+      <entry>Missing <code>get_new_handler</code>.
+             <code>set_new_handler</code> is not thread-safe.
+      </entry>
     </row>
     <row>
       <entry>18.7</entry>
@@ -206,10 +209,13 @@ particular release.
       <entry/>
     </row>
     <row>
+      <?dbhtml bgcolor="#B0B0B0" ?>
       <entry>18.8.3</entry>
       <entry>Abnormal termination</entry>
-      <entry>Y</entry>
-      <entry/>
+      <entry>Partial</entry>
+      <entry>Missing <code>get_terminate</code>.
+             <code>set_terminate</code> is not thread-safe.
+      </entry>
     </row>
     <row>
       <entry>18.8.4</entry>
@@ -384,12 +390,10 @@ particular release.
       <entry/>
     </row>
     <row>
-      <?dbhtml bgcolor="#B0B0B0" ?>
       <entry>20.3.2</entry>
       <entry>Class template <code>pair</code></entry>
-      <entry>Partial</entry>
-      <entry>Piecewise construction requires an accessible copy/move
-             constructor.</entry>
+      <entry>Y</entry>
+      <entry/>
     </row>
     <row>
       <entry>20.3.3</entry>
@@ -530,11 +534,10 @@ particular release.
       <entry/>
     </row>
     <row>
-      <?dbhtml bgcolor="#B0B0B0" ?>
       <entry>20.6.3</entry>
       <entry>Pointer traits</entry>
-      <entry>Partial</entry>
-      <entry>Missing rebind</entry>
+      <entry>Y</entry>
+      <entry/>
     </row>
     <row>
       <?dbhtml bgcolor="#B0B0B0" ?>
@@ -563,11 +566,10 @@ particular release.
       <entry/>
     </row>
     <row>
-      <?dbhtml bgcolor="#B0B0B0" ?>
       <entry>20.6.8</entry>
       <entry>Allocator traits</entry>
-      <entry>Partial</entry>
-      <entry>Missing rebind_alloc and rebind_traits</entry>
+      <entry>Y</entry>
+      <entry/>
     </row>
     <row>
       <entry>20.6.9</entry>
@@ -992,11 +994,10 @@ particular release.
       <entry/>
     </row>
     <row>
-      <?dbhtml bgcolor="#C8B0B0" ?>
       <entry>20.11.7.2</entry>
       <entry>Class <code>steady_clock</code></entry>
-      <entry>N</entry>
-      <entry>Support old <code>monotonic_clock</code> spec instead</entry>
+      <entry>Y</entry>
+      <entry/>
     </row>
     <row>
       <entry>20.11.7.3</entry>
@@ -1125,11 +1126,10 @@ particular release.
       <entry/>
     </row>
     <row>
-      <?dbhtml bgcolor="#B0B0B0" ?>
       <entry>21.4</entry>
       <entry>Class template <code>basic_string</code></entry>
-      <entry>Partial</entry>
-      <entry>Missing pop_back</entry>
+      <entry>Y</entry>
+      <entry/>
     </row>
     <row>
       <entry>21.5</entry>
@@ -1403,11 +1403,10 @@ particular release.
       <entry>Missing emplace members</entry>
     </row>
     <row>
-      <?dbhtml bgcolor="#B0B0B0" ?>
       <entry>23.2.5</entry>
       <entry>Unordered associative containers</entry>
-      <entry>Partial</entry>
-      <entry>Missing emplace members</entry>
+      <entry>Y</entry>
+      <entry/>
     </row>
     <row>
       <entry>23.3</entry>
@@ -2288,28 +2287,23 @@ particular release.
       <entry/>
     </row>
     <row>
-      <?dbhtml bgcolor="#C8B0B0" ?>
+      <?dbhtml bgcolor="#B0B0B0" ?>
       <entry>29.3</entry>
       <entry>Order and consistency</entry>
-      <entry>N</entry>
+      <entry>Partial</entry>
       <entry/>
     </row>
     <row>
-      <?dbhtml bgcolor="#B0B0B0" ?>
       <entry>29.4</entry>
       <entry>Lock-free property</entry>
-      <entry>Partial</entry>
-      <entry>Missing <code>ATOMIC_BOOL_LOCK_FREE</code> and
-        <code>ATOMIC_POINTER_LOCK_FREE</code>.
-        Based on _GLIBCXX_ATOMIC_PROPERTY
-      </entry>
+      <entry>Y</entry>
+      <entry/>
     </row>
     <row>
-      <?dbhtml bgcolor="#B0B0B0" ?>
       <entry>29.5</entry>
       <entry>Atomic types</entry>
-      <entry>Partial</entry>
-      <entry>Missing constexpr</entry>
+      <entry>Y</entry>
+      <entry/>
     </row>
     <row>
       <entry>29.6</entry>
@@ -2409,7 +2403,8 @@ particular release.
       <entry>30.4.1.3</entry>
       <entry>Timed mutex types</entry>
       <entry/>
-      <entry/>
+      <entry>On POSIX sytems these types are only defined if the OS
+         supports the POSIX Timeouts option. </entry>
     </row>
     <row>
       <entry>30.4.1.3.1</entry>
@@ -2526,14 +2521,14 @@ particular release.
       <entry>30.6.6</entry>
       <entry>Class template <code>future</code></entry>
       <entry>Partial</entry>
-      <entry>Timed waiting functions do not return future_status</entry>
+      <entry>Timed waiting functions do not return future_status::deferred</entry>
     </row>
     <row>
       <?dbhtml bgcolor="#B0B0B0" ?>
       <entry>30.6.7</entry>
       <entry>Class template <code>shared_future</code></entry>
       <entry>Partial</entry>
-      <entry>Timed waiting functions do not return future_status</entry>
+      <entry>Timed waiting functions do not return future_status::deferred</entry>
     </row>
     <row>
       <entry>30.6.8</entry>
@@ -2617,15 +2612,72 @@ particular release.
       <entry/>
     </row>
     <row>
+      <?dbhtml bgcolor="#B0B0B0" ?>
       <entry>D.11</entry>
       <entry>Violating exception-specifications</entry>
-      <entry/>
-      <entry/>
+      <entry>Partial</entry>
+      <entry>Missing <code>get_unexpected</code>.
+             <code>set_unexpected</code> is not thread-safe.
+      </entry>
     </row>
 
   </tbody>
 </tgroup>
 </table>
 
+<section xml:id="iso.2011.specific" xreflabel="Implementation Specific"><info><title>Implementation Specific Behavior</title></info>
+
+   <para>For behaviour which is also specified by the 1998 and 2003 standards,
+      see <link linkend="iso.1998.specific">C++ 1998/2003 Implementation
+      Specific Behavior</link>. This section only documents behaviour which
+      is new in the 2011 standard.
+   </para>
+
+   <para>
+      <emphasis>20.8.9.1.3 [func.bind.place]/1</emphasis> There are 29
+      placeholders defined and the placeholder types are
+      <literal>CopyAssignable</literal>.
+   </para>
+
+   <para>
+      <emphasis>30.2.3 [thread.req.native]/1</emphasis>
+      <classname>native_handle_type</classname> and
+      <methodname>native_handle</methodname> are provided. The handle types
+      are defined in terms of the Gthreads abstraction layer.
+      <itemizedlist>
+         <listitem><para><classname>thread</classname>: The native handle type is
+            a typedef for <code>__gthread_t</code> i.e. <code>pthread_t</code>
+            when GCC is configured with the <literal>posix</literal> thread
+            model. The value of the native handle is undefined for a thread
+            which is not joinable.
+         </para></listitem>
+         <listitem><para><classname>mutex</classname> and
+            <classname>timed_mutex</classname>:
+            The native handle type is <code>__gthread_mutex_t*</code> i.e.
+            <code>pthread_mutex_t*</code> for the <literal>posix</literal>
+            thread model.
+         </para></listitem>
+         <listitem><para><classname>recursive_mutex</classname> and
+         <classname>recursive_timed_mutex</classname>:
+            The native handle type is <code>__gthread_recursive_mutex_t*</code>
+            i.e. <code>pthread_mutex_t*</code> for the <literal>posix</literal>
+            thread model.
+         </para></listitem>
+         <listitem><para><classname>condition_variable</classname>: The native
+            handle type is <code>__gthread_cond_t*</code> i.e.
+            <code>pthread_cond_t*</code> for the <literal>posix</literal>
+            thread model.
+         </para></listitem>
+      </itemizedlist>
+   </para>
+
+   <para>
+      <emphasis>30.6.1 [futures.overview]/2</emphasis>
+      <code>launch</code> is a scoped enumeration type with
+      overloaded operators to support bitmask operations. There are no
+      additional bitmask elements defined.
+   </para>
+
+</section>
 
 </section>