This is the mail archive of the libstdc++@gcc.gnu.org mailing list for the libstdc++ project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [wwwdocs] 4.2 libstdc++ entry



Good stuff, thanks!  I'll make some minor editorial comments, the
contents is obviously your area of expertise, not mine. ;-)

Thanks, this was very helpful. Attached are the revisions for both lists: I've checked them in.


FYI, it looks like the compiler-specific C++ bits for 4.2 are incomplete: there's no mention of the visibility re-write or the change to make anonymous namespaces internal.

An impressive list. :-)

I was pretty impressed myself.


best,
benjamin


Index: htdocs/gcc-4.2/changes.html
===================================================================
RCS file: /cvs/gcc/wwwdocs/htdocs/gcc-4.2/changes.html,v
retrieving revision 1.29
diff -c -p -r1.29 changes.html
*** htdocs/gcc-4.2/changes.html	1 Apr 2007 21:02:18 -0000	1.29
--- htdocs/gcc-4.2/changes.html	3 Apr 2007 08:41:12 -0000
***************
*** 158,163 ****
--- 158,221 ----
      </li>
    </ul> 
  
+   <h4>Runtime Library (libstdc++)</h4>
+   <ul>
+     <li>Added support for TR1 &lt;random&gt;, &lt;complex&gt;, and C
+     compatibility headers. In addition, a lock-free version of
+     <code>shared_ptr</code> was contributed as part of Phillip
+     Jordan's Google Summer of Code project on lock-free
+     containers. The implementation status for TR1 can be tracked in <a
+     href="http://gcc.gnu.org/onlinedocs/libstdc++/ext/tr1.html";>tr1.html</a> 
+    </li>
+    <li>In association with the Summer of Code work on lock-free
+    containers, the interface for atomic builtins was adjusted,
+    creating simpler alternatives for non-threaded code paths. Also,
+    usage was consolidated and all elements were moved from
+    <code>namespace std</code> to
+    <code>namespace__gnu_cxx</code>. Affected interfaces are the
+    functions <code>__exchange_and_add</code>,
+    <code>__atomic_add</code>, and the objects <code>__mutex</code>,
+    <code>__recursive_mutex</code>, and
+    <code>__scoped_lock</code>. </li>
+    <li>Support for versioning weak symbol names via namespace
+    association was added. However, as this changes the names of
+    exported symbols, this is turned off by default in the current
+    ABI. Intrepid users can enable this feature by using 
+    <code>--enable-symvers=gnu-versioned-namespace</code> during configuration.
+    </li>
+    <li>Revised, simplified, and expanded policy-based associative
+    containers, including data types for tree and trie forms
+    (<code>basic_tree</code>, <code>tree</code>, <code>trie</code>),
+    lists (<code>list_update</code>), and both collision-chaining and
+    probing hash-based containers (<code>basic_hash_table</code>,
+    <code>cc_hash_table</code>, <code>gp_hash_table</code>). More details
+    per the <a href="http://gcc.gnu.org/onlinedocs/libstdc++/ext/pb_ds/index.html";>documentation.</a>
+    </li>
+    <li>The implementation of the debug mode was modified, whereby the
+    debug namespaces were nested inside of <code>namespace std</code>
+    and <code>namespace __gnu_cxx</code> in order to resolve some long
+    standing corner cases involving name lookup. Debug
+    functionality from the policy-based data structures was
+    consolidated and enabled with the single macro,
+    <code>_GLIBCXX_DEBUG</code>. See PR 26142 for more
+    information.</li>
+    <li> Added extensions for type traits:
+    <code>__conditional_type</code>, <code>__numeric_traits</code>,
+    <code>__add_unsigned</code>, <code>__removed_unsigned</code>,
+    <code>__enable_if</code>.
+    <li> Added a typelist implementation for compile-time
+    meta-programming. Elements for typelist construction and operation can be 
+    found within <code>namespace __gnu_cxx::typelist</code>.</li>
+    <li> Added a new allocator, <code>__gnu_cxx::throw_allocator</code>, for
+ testing exception-safety. </li>
+    <li> Enabled library-wide visibility control, allowing
+    <code>-fvisibility</code> to be used.</li>
+    <li> Consolidated all nested namespaces and the
+    conversion of <code>__gnu_internal</code> implementation-private
+    details to anonymous namespaces whenever possible.</li>
+    <li>Implemented LWG resolutions DR 431 and DR 538. </li>
+   </ul>
+ 
  <h3>Fortran</h3>
    <ul>
      <li>Support for allocatable components has been added (TR 15581 and
Index: htdocs/gcc-4.3/changes.html
===================================================================
RCS file: /cvs/gcc/wwwdocs/htdocs/gcc-4.3/changes.html,v
retrieving revision 1.42
diff -c -p -r1.42 changes.html
*** htdocs/gcc-4.3/changes.html	28 Mar 2007 14:44:53 -0000	1.42
--- htdocs/gcc-4.3/changes.html	3 Apr 2007 08:09:00 -0000
***************
*** 163,170 ****
    has been added. This support can be enabled with the
    <code>-std=c++0x</code> or <code>-std=gnu++0x</code> compiler
    options; the former disables GNU extensions. The following C++0x
!   features are enabled by this
!   experimental mode:
    <ul>
      <li><a
    href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2004/n1720.html";>Static
--- 163,169 ----
    has been added. This support can be enabled with the
    <code>-std=c++0x</code> or <code>-std=gnu++0x</code> compiler
    options; the former disables GNU extensions. The following C++0x
!   features are enabled by this experimental mode:
    <ul>
      <li><a
    href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2004/n1720.html";>Static
***************
*** 177,183 ****
      <li><a
      href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2152.pdf";>Variadic
      templates</a> (only enabled by <code>-std=gnu++0x</code>)</li>
!   </ul>
    </li>
  
    <li><code>-Wc++0x-compat</code> has been added and is now enabled by
--- 176,187 ----
      <li><a
      href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2152.pdf";>Variadic
      templates</a> (only enabled by <code>-std=gnu++0x</code>)</li>
!     <li> Headers &lt;array&gt;, &lt;random&gt;, &lt;regex&gt;,
!     &lt;tuple&gt;, &lt;type_traits&gt;, &lt;unordered_map&gt;, and
!     &lt;unordered_set&gt;. Plus, headers for C compatibility:
!     &lt;ccomplex&gt;, &lt;cfenv&gt;, &lt;cinttypes&gt;,
!     &lt;cstdbool&gt;, &lt;cstdint&gt;, and &lt;ctgmath&gt;. </li>
!     </ul> 
    </li>
  
    <li><code>-Wc++0x-compat</code> has been added and is now enabled by
***************
*** 197,202 ****
--- 201,223 ----
  
    </ul>
  
+   <h4>Runtime Library (libstdc++)</h4>
+   <ul>
+     <li> Support for TR1 mathematical special functions and regular
+     expressions. The implementation status for TR1 can be tracked in
+     <a href="http://gcc.gnu.org/onlinedocs/libstdc++/ext/tr1.html";>
+     tr1.html </a> </li>
+     <li> Default <code>what</code> implementations give more elaborate
+     exception strings for <code>bad_cast</code>,
+     <code>bad_typeid</code>, <code>bad_exception</code>, and
+     <code>bad_alloc</code>.</a> </li>
+     <li> Header dependencies have been streamlined, reducing
+     unnecessary includes and pre-processed bloat. </li>
+     <li> Variadic template implementations of items in &lt;tuple&gt; and
+     &lt;functional&gt;.  </li>
+   </ul>
+ 
+ 
  <h3>Fortran</h3>
    <ul>
  

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]