diff options
author | Jonathan Wakely <jwakely@redhat.com> | 2023-04-12 23:23:47 +0100 |
---|---|---|
committer | Jonathan Wakely <jwakely@redhat.com> | 2023-04-12 23:26:35 +0100 |
commit | adda0e288727eab5635d8df153f104021e0121d6 (patch) | |
tree | 0aec47e686296047bf649f327e97e05fa936aaa2 /libstdc++-v3 | |
parent | 25264f6b3a75f505c1ca3bc7e48ce173560c1b2c (diff) | |
download | gcc-adda0e288727eab5635d8df153f104021e0121d6.zip gcc-adda0e288727eab5635d8df153f104021e0121d6.tar.gz gcc-adda0e288727eab5635d8df153f104021e0121d6.tar.bz2 |
libstdc++: Document libstdc++exp.a library for -fcontracts
libstdc++-v3/ChangeLog:
* doc/xml/manual/using.xml: Document libstdc++exp.a library.
* doc/html/*: Regenerate.
Diffstat (limited to 'libstdc++-v3')
-rw-r--r-- | libstdc++-v3/doc/html/manual/using.html | 3 | ||||
-rw-r--r-- | libstdc++-v3/doc/html/manual/using_dynamic_or_shared.html | 17 | ||||
-rw-r--r-- | libstdc++-v3/doc/xml/manual/using.xml | 27 |
3 files changed, 39 insertions, 8 deletions
diff --git a/libstdc++-v3/doc/html/manual/using.html b/libstdc++-v3/doc/html/manual/using.html index f23325e..eebb35d 100644 --- a/libstdc++-v3/doc/html/manual/using.html +++ b/libstdc++-v3/doc/html/manual/using.html @@ -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 diff --git a/libstdc++-v3/doc/html/manual/using_dynamic_or_shared.html b/libstdc++-v3/doc/html/manual/using_dynamic_or_shared.html index 73d1f18..46ccbc5 100644 --- a/libstdc++-v3/doc/html/manual/using_dynamic_or_shared.html +++ b/libstdc++-v3/doc/html/manual/using_dynamic_or_shared.html @@ -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>
\ No newline at end of file diff --git a/libstdc++-v3/doc/xml/manual/using.xml b/libstdc++-v3/doc/xml/manual/using.xml index 7f011a6..3a507fc 100644 --- a/libstdc++-v3/doc/xml/manual/using.xml +++ b/libstdc++-v3/doc/xml/manual/using.xml @@ -109,6 +109,14 @@ </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 <filename class="libraryfile">libstdc++_libbacktrace.a</filename> @@ -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> + 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 the Filesystem library the usual + 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> |