libstdc++: Document libstdc++exp.a library for -fcontracts
libstdc++-v3/ChangeLog: * doc/xml/manual/using.xml: Document libstdc++exp.a library. * doc/html/*: Regenerate.
This commit is contained in:
parent
25264f6b3a
commit
adda0e2887
3 changed files with 39 additions and 8 deletions
|
@ -31,6 +31,9 @@
|
|||
</td></tr><tr><td align="left"><code class="literal">-lstdc++fs</code></td><td align="left">Linking to <code class="filename">libstdc++fs</code>
|
||||
is required for use of the Filesystem library extensions in
|
||||
<code class="filename"><experimental/filesystem></code>.
|
||||
</td></tr><tr><td align="left"><code class="literal">-lstdc++exp</code></td><td align="left">Linking to <code class="filename">libstdc++exp</code>
|
||||
is required for use of the C++ Contracts extensions enabled by
|
||||
<code class="literal">-fcontracts</code>.
|
||||
</td></tr><tr><td align="left"><code class="literal">-lstdc++_libbacktrace</code></td><td align="left">Until C++23 support is non-experimental, linking to
|
||||
<code class="filename">libstdc++_libbacktrace.a</code>
|
||||
is required for use of the C++23 type
|
||||
|
|
|
@ -136,12 +136,21 @@ A quick read of the relevant part of the GCC
|
|||
no shared library for it. To use the library you should include
|
||||
<code class="filename"><experimental/filesystem></code>
|
||||
and link with <code class="option">-lstdc++fs</code>. The library implementation
|
||||
is incomplete on non-POSIX platforms, specifically Windows support is
|
||||
rudimentary.
|
||||
is incomplete on non-POSIX platforms, specifically Windows is only
|
||||
partially supported.
|
||||
</p><p>
|
||||
Due to the experimental nature of the Filesystem library the usual
|
||||
GCC 13 includes an implementation of the C++ Contracts library defined by
|
||||
<a class="link" href="https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2019/p1429r3.pdf" target="_top">P1429R3</a>.
|
||||
Because this is an experimental extension, not part of the C++ standard,
|
||||
it is implemented in a separate library,
|
||||
<code class="filename">libstdc++exp.a</code>, and there is
|
||||
no shared library for it. To use the library you should include
|
||||
<code class="filename"><experimental/contract></code>
|
||||
and link with <code class="option">-lstdc++exp</code>.
|
||||
</p><p>
|
||||
Due to the experimental nature of these libraries the usual
|
||||
guarantees about ABI stability and backwards compatibility do not apply
|
||||
to it. There is no guarantee that the components in any
|
||||
to them. There is no guarantee that the components in any
|
||||
<code class="filename"><experimental/xxx></code>
|
||||
header will remain compatible between different GCC releases.
|
||||
</p></div></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="using_namespaces.html">Prev</a> </td><td width="20%" align="center"><a accesskey="u" href="using.html">Up</a></td><td width="40%" align="right"> <a accesskey="n" href="using_concurrency.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">Namespaces </td><td width="20%" align="center"><a accesskey="h" href="../index.html">Home</a></td><td width="40%" align="right" valign="top"> Concurrency</td></tr></table></div></body></html>
|
|
@ -108,6 +108,14 @@
|
|||
</entry>
|
||||
</row>
|
||||
|
||||
<row>
|
||||
<entry><literal>-lstdc++exp</literal></entry>
|
||||
<entry>Linking to <filename class="libraryfile">libstdc++exp</filename>
|
||||
is required for use of the C++ Contracts extensions enabled by
|
||||
<literal>-fcontracts</literal>.
|
||||
</entry>
|
||||
</row>
|
||||
|
||||
<row>
|
||||
<entry><literal>-lstdc++_libbacktrace</literal></entry>
|
||||
<entry>Until C++23 support is non-experimental, linking to
|
||||
|
@ -1700,14 +1708,25 @@ A quick read of the relevant part of the GCC
|
|||
no shared library for it. To use the library you should include
|
||||
<filename class="headerfile"><experimental/filesystem></filename>
|
||||
and link with <option>-lstdc++fs</option>. The library implementation
|
||||
is incomplete on non-POSIX platforms, specifically Windows support is
|
||||
rudimentary.
|
||||
is incomplete on non-POSIX platforms, specifically Windows is only
|
||||
partially supported.
|
||||
</para>
|
||||
|
||||
<para>
|
||||
Due to the experimental nature of the Filesystem library the usual
|
||||
GCC 13 includes an implementation of the C++ Contracts library defined by
|
||||
<link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2019/p1429r3.pdf">P1429R3</link>.
|
||||
Because this is an experimental extension, not part of the C++ standard,
|
||||
it is implemented in a separate library,
|
||||
<filename class="libraryfile">libstdc++exp.a</filename>, and there is
|
||||
no shared library for it. To use the library you should include
|
||||
<filename class="headerfile"><experimental/contract></filename>
|
||||
and link with <option>-lstdc++exp</option>.
|
||||
</para>
|
||||
|
||||
<para>
|
||||
Due to the experimental nature of these libraries the usual
|
||||
guarantees about ABI stability and backwards compatibility do not apply
|
||||
to it. There is no guarantee that the components in any
|
||||
to them. There is no guarantee that the components in any
|
||||
<filename class="headerfile"><experimental/xxx></filename>
|
||||
header will remain compatible between different GCC releases.
|
||||
</para>
|
||||
|
|
Loading…
Add table
Reference in a new issue