blob: 0463fe685a78d1ee3105ed6b00e2fd496f84ef4b [file] [log] [blame]
Howard Hinnantc51e1022010-05-11 19:42:16 +00001<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
2 "http://www.w3.org/TR/html4/strict.dtd">
3<!-- Material used from: HTML 4.01 specs: http://www.w3.org/TR/html401/ -->
4<html>
5<head>
6 <META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
7 <title>"libc++" C++ Standard Library</title>
8 <link type="text/css" rel="stylesheet" href="menu.css">
9 <link type="text/css" rel="stylesheet" href="content.css">
10</head>
11
12<body>
13<div id="menu">
14 <div>
15 <a href="http://llvm.org/">LLVM Home</a>
16 </div>
17
18 <div class="submenu">
19 <label>libc++ Info</label>
20 <a href="/index.html">About</a>
21 </div>
22
23 <div class="submenu">
24 <label>Quick Links</label>
25 <a href="http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev">llvmdev</a>
26 <a href="http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits">llvm-commits</a>
27 <a href="http://llvm.org/bugs/">Bug Reports</a>
28 <a href="http://llvm.org/svn/llvm-project/compiler-rt/trunk/">Browse SVN</a>
29 <a href="http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/">Browse ViewVC</a>
30 </div>
31</div>
32
33<div id="content">
34 <!--*********************************************************************-->
35 <h1>"libc++" C++ Standard Library</h1>
36 <!--*********************************************************************-->
37
38 <p>libc++ is a new implementation of the C++ standard library, targeting
39 C++0X.</p>
40
41 <p>All of the code in libc++ is available under the standard
42 <a href="http://llvm.org/docs/DeveloperPolicy.html#license">LLVM
43 License</a>, a "BSD-style" license.</p>
44
45 <!--=====================================================================-->
46 <h2 id="goals">Features and Goals</h2>
47 <!--=====================================================================-->
48
49 <ul>
50 <li>Correctness as defined by the (currently draft) C++0X standard.</li>
51 <li>Fast execution.</li>
52 <li>Minimal memory use.</li>
53 <li>Fast compile times.</li>
54 <li>ABI compatibility with gcc's libstdc++ for some low-level features
55 such as exception objects, rtti and memory allocation.</li>
56 <li>Extensive unit tests.</li>
57 </ul>
58
59 <!--=====================================================================-->
60 <h2 id="requirements">Platform Support</h2>
61 <!--=====================================================================-->
62
63 <p>libc++ is known to work on the following platforms, using g++-4.2 and
64 clang (lack of C++0X language support disables some functionality).</p>
65
66 <ul>
67 <li>Mac OS X i386</li>
68 <li>Mac OS X x86_64</li>
69 </ul>
70
71 <!--=====================================================================-->
72 <h2 id="dir-structure">Current Status</h2>
73 <!--=====================================================================-->
74
75 <p>libc++ is still under development. It has about 85% of
76 <a href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2010/n3092.pdf">N3092</a>
77 implemented/tested.</p>
78
79 <ul>
80 <li>Missing <code>&lt;future&gt;</code></li>
81 <li>Missing <code>&lt;regex&gt;</code></li>
82 <li>Under construction <code>&lt;random&gt;</code></li>
83 </ul>
84
85 <p>libc++ is currently dependent upon a separate library for the low-level
86 ABI compatibility with gcc. As a workaround it can be linked against
87 gcc's libstdc++.</p>
88
89 <!--=====================================================================-->
90 <h2>Get it and get involved!</h2>
91 <!--=====================================================================-->
92
93 <p>To check out the code, use:</p>
94
95 <ul>
Chris Lattnere66f1e32010-05-11 20:37:52 +000096 <li><code>svn co http://llvm.org/svn/llvm-project/libcxx/trunk libcxx</code></li>
97 <li><code>cd libcxx/lib</code></li>
Howard Hinnantc51e1022010-05-11 19:42:16 +000098 <li><code>./buildit</code></li>
99 </ul>
100
101 <p>To run the libc++ test suit (recommended):</p>
102
103 <ul>
Chris Lattnere66f1e32010-05-11 20:37:52 +0000104 <li><code>cd libcxx/test</code></li>
Howard Hinnantc51e1022010-05-11 19:42:16 +0000105 <li><code>./testit</code></li>
106 </ul>
107
Howard Hinnantc5b02f22010-05-11 19:53:34 +0000108 <p>Send discussions to the
109 (<a href="http://lists.cs.uiuc.edu/mailman/listinfo/cfe-dev">clang mailing list</a>).</p>
110
Howard Hinnantc51e1022010-05-11 19:42:16 +0000111</div>
112</body>
Chris Lattnere66f1e32010-05-11 20:37:52 +0000113</html>