index.html revision a535ffd99d3702ab065647e28e83c2b7d720be3d
15d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" 
25d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)          "http://www.w3.org/TR/html4/strict.dtd">
35d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)<!-- Material used from: HTML 4.01 specs: http://www.w3.org/TR/html401/ -->
45d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)<html>
55d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)<head>
65d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)  <META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
75d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)  <title>"libc++" C++ Standard Library</title>
8116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch  <link type="text/css" rel="stylesheet" href="menu.css">
95d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)  <link type="text/css" rel="stylesheet" href="content.css">
105d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)</head>
115d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)
125d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)<body>
135d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)<div id="menu">
145d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)  <div>
155d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)    <a href="http://llvm.org/">LLVM Home</a>
165d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)  </div>
175d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)  
185d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)  <div class="submenu">
195d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)    <label>libc++ Info</label>
205d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)    <a href="/index.html">About</a>
215d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)  </div>
225d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)
235d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)  <div class="submenu">
245d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)    <label>Quick Links</label>
255d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)    <a href="http://lists.cs.uiuc.edu/mailman/listinfo/cfe-dev">cfe-dev</a>
265d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)    <a href="http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits">cfe-commits</a>
275d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)    <a href="http://llvm.org/bugs/">Bug Reports</a>
285d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)    <a href="http://llvm.org/svn/llvm-project/libcxx/trunk/">Browse SVN</a>
295d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)    <a href="http://llvm.org/viewvc/llvm-project/libcxx/trunk/">Browse ViewVC</a>
305d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)  </div>
315d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)</div>
325d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)
335d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)<div id="content">
345d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)  <!--*********************************************************************-->
355d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)  <h1>"libc++" C++ Standard Library</h1>
365d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)  <!--*********************************************************************-->
375d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)  
385d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)  <p>libc++ is a new implementation of the C++ standard library, targeting
395d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)     C++0X.</p>
405d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)
415d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)  <p>All of the code in libc++ is available under the standard
425d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)     <a href="http://llvm.org/docs/DeveloperPolicy.html#license">LLVM
435d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)     License</a>, a "BSD-style" license.</p>
445d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)  
455d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)  <!--=====================================================================-->
465d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)  <h2 id="goals">Features and Goals</h2>
475d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)  <!--=====================================================================-->
485d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)  
495d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)    <ul>
505d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)        <li>Correctness as defined by the (currently draft) C++0X standard.</li>
515d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)        <li>Fast execution.</li>
525d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)        <li>Minimal memory use.</li>
535d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)        <li>Fast compile times.</li>
545d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)        <li>ABI compatibility with gcc's libstdc++ for some low-level features
555d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)            such as exception objects, rtti and memory allocation.</li>
565d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)        <li>Extensive unit tests.</li>
575d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)    </ul>
585d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)
595d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)  <!--=====================================================================-->
605d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)  <h2 id="requirements">Platform Support</h2>
615d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)  <!--=====================================================================-->
625d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)
635d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)   <p>libc++ is known to work on the following platforms, using g++-4.2 and
645d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)      clang (lack of C++0X language support disables some functionality).</p>
655d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)
665d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)    <ul>
675d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)     <li>Mac OS X i386</li>
685d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)     <li>Mac OS X x86_64</li>
695d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)    </ul>
705d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)
715d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)  <!--=====================================================================-->
725d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)  <h2 id="dir-structure">Current Status</h2>
735d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)  <!--=====================================================================-->
745d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)
755d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)   <p>libc++ is still under development.  It has about 85% of
765d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)      <a href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2010/n3092.pdf">N3092</a>
775d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)      implemented/tested.</p>
785d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)
795d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)   <ul>
805d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)        <li>Missing <code>&lt;future&gt;</code></li>
815d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)        <li>Missing <code>&lt;regex&gt;</code></li>
825d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)        <li>Under construction <code>&lt;random&gt;</code></li>
835d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)   </ul>
845d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)
855d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)   <p>libc++ is currently dependent upon a separate library for the low-level
865d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)      ABI compatibility with gcc.  As a workaround it can be linked against
875d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)      gcc's libstdc++.</p>
885d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)
895d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)  <!--=====================================================================-->
905d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)  <h2>Get it and get involved!</h2>
915d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)  <!--=====================================================================-->
925d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)  
935d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)  <p>To check out the code, use:</p>
945d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)  
955d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)  <ul>
965d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)  <li><code>svn co http://llvm.org/svn/llvm-project/libcxx/trunk libcxx</code></li>
975d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)  <li><code>cd libcxx/lib</code></li>
985d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)  <li><code>/buildit</code></li>
995d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)  </ul>
1005d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)
1015d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)  <p>To run the libc++ test suit (recommended):</p>
1025d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)
1035d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)  <ul>
1045d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)  <li><code>cd libcxx/test</code></li>
1055d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)  <li><code>/testit</code></li>
1065d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)  </ul>
1075d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)
1081320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci  <p>Send discussions to the 
1095d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)  (<a href="http://lists.cs.uiuc.edu/mailman/listinfo/cfe-dev">clang mailing list</a>).</p>
1105d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)
1115d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)</div>
112116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch</body>
113116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch</html>
114116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch