<!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="https://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="https://lists.llvm.org/mailman/listinfo/libcxx-dev">libcxx-dev</a>
    <a href="https://lists.llvm.org/mailman/listinfo/libcxx-commits">libcxx-commits</a>
    <a href="https://bugs.llvm.org/">Bug Reports</a>
    <a href="https://github.com/llvm/llvm-project/tree/main/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="https://llvm.org/docs/DeveloperPolicy.html#copyright-license-and-patents">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="https://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>For building libc++abi, please see the libc++ documentation on
     <a href="https://libcxx.llvm.org/BuildingLibcxx.html">building the runtimes</a>.
  </p>

  <p>For getting involved with libc++abi, please see the libc++ documentation on
      <a href="https://libcxx.llvm.org/Contributing.html">getting involved</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>
