<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
          "http://www.w3.org/TR/html4/strict.dtd">
<!-- Material used from: HTML 4.01 specs: http://www.w3.org/TR/html401/ -->
<html>
<head>
  <META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
  <title>"libc++abi" C++ Standard Library Support</title>
  <link type="text/css" rel="stylesheet" href="menu.css">
  <link type="text/css" rel="stylesheet" href="content.css">
</head>

<body>
<div id="menu">
  <div>
    <a href="http://llvm.org/">LLVM Home</a>
  </div>

  <div class="submenu">
    <label>libc++abi Info</label>
    <a href="/index.html">About</a>
  </div>

  <div class="submenu">
    <label>Quick Links</label>
    <a href="https://libcxx.llvm.org/">libc++</a>
    <a href="http://lists.llvm.org/mailman/listinfo/libcxx-dev">libcxx-dev</a>
    <a href="http://lists.llvm.org/mailman/listinfo/libcxx-commits">libcxx-commits</a>
    <a href="http://llvm.org/bugs/">Bug Reports</a>
    <a href="https://github.com/llvm/llvm-project/tree/master/libcxxabi/">Browse Sources</a>
  </div>
</div>

<div id="content">
  <!--*********************************************************************-->
  <h1>"libc++abi" C++ Standard Library Support</h1>
  <!--*********************************************************************-->

  <p>libc++abi is a new implementation of low level support for a standard
     C++ library.</p>

  <p>All of the code in libc++abi is <a
     href="http://llvm.org/docs/DeveloperPolicy.html#license">dual licensed</a>
     under the MIT license and the UIUC License (a BSD-like license).</p>

  <!--=====================================================================-->
  <h2 id="goals">Features and Goals</h2>
  <!--=====================================================================-->

    <ul>
        <li>Correctness as defined by the C++11 standard.</li>
        <li>Provide a portable sublayer to ease the porting of <a href="http://libcxx.llvm.org/">libc++</a></li>
        <li>On Mac OS X, be ABI compatible with the existing low-level support.</li>
    </ul>

  <!--=====================================================================-->
  <h2 id="requirements">Platform Support</h2>
  <!--=====================================================================-->

   <p>libc++abi is known to work on the following platforms, using clang.</p>

    <ul>
    <li>Darwin</li>
    </ul>

  <!--=====================================================================-->
  <h2 id="dir-structure">Current Status</h2>
  <!--=====================================================================-->

   <p>libc++abi is complete.  <a href="spec.html">Here</a> is a
   list of functionality.</p>

  <!--=====================================================================-->
  <h2>Get it and get involved!</h2>
  <!--=====================================================================-->

  <p>To check out the code (including llvm and others), use:</p>

  <ul>
  <li><code>git clone https://github.com/llvm/llvm-project.git</code></li>
  </ul>

  <p>To build:</p>
  <ul>
  <li><code>cd llvm-project</code></li>
  <li><code>mkdir build &amp;&amp; cd build</code></li>
  <li><code>cmake -DLLVM_ENABLE_PROJECTS=libcxxabi ../llvm # on linux you may need to specify -DCMAKE_C_COMPILER=clang -DCMAKE_CXX_COMPILER=clang++</code></li>
  <li><code>make</code></li>
  </ul>

  <p>To do a standalone build:</p>
  <ul>
  <li>
    Check out the source tree. This includes the other subprojects, but you'll only use the libcxxabi part.
  </li>
  <li><code>cd llvm-project</code></li>
  <li><code>mkdir build-libcxxabi &amp;&amp; cd build-libcxxabi</code></li>
  <li><code>cmake -DLIBCXXABI_LIBCXX_PATH=path/to/libcxx ../libcxxabi # on
    linux you may need -DCMAKE_C_COMPILER=clang -DCMAKE_CXX_COMPILER=clang++</code></li>
  <li><code>make</code></li>
  </ul>
  <p> By default CMake uses <code>llvm-config</code> to locate the required
      LLVM sources. If CMake cannot find <code>llvm-config</code> then you must
      configure CMake using either of the following options.
  </p>
  <ul>
  <li><code>-DLLVM_CONFIG_PATH=path/to/llvm-config</code></li>
  <li><code>-DLLVM_PATH=path/to/llvm-source-root</code></li>
  </ul>

  </p>

  <p>To run the tests:</p>
  <ul>
  <li><code>make check-cxxabi</code></li>
  </ul>
  <p>Note: in a standalone build, the system's libc++ will be used for tests. If
  the system's libc++ was statically linked against libc++abi (or linked against
  a different ABI library), this may interfere with test results.</p>

  <p>Send discussions to the
  (<a href="http://lists.llvm.org/mailman/listinfo/libcxx-dev">libcxx-dev mailing list</a>).</p>

  <!--=====================================================================-->
  <h2>Frequently asked questions</h2>
  <!--=====================================================================-->

  <p>Q: Why are the destructors for the standard exception classes defined in libc++abi?
     They're just empty, can't they be defined inline?</p>
  <p>A: The destructors for them live in libc++abi because they are "key" functions.
     The Itanium ABI describes a "key" function as the first virtual declared.
     And wherever the key function is defined, that is where the <code>type_info</code> gets defined.
     And in libc++ types are the same type if and only if they have the same <code>type_info</code>
     (as in there must be only one type info per type in the entire application).
     And on OS X, libstdc++ and libc++ share these exception types.
     So to be able to throw in one dylib and catch in another (a <code>std::exception</code> for example), 
     there must be only one <code>std::exception type_info</code> in the entire app.
     That typeinfo gets laid down beside <code>~exception()</code> in libc++abi (for both libstdc++ and libc++).</p>
     <p>--Howard Hinnant</p>

</div>
</body>
</html>
