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><future></code></li> 815d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) <li>Missing <code><regex></code></li> 825d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) <li>Under construction <code><random></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