Pushed to trunk. -- >8 --
libstdc++-v3/ChangeLog: * doc/xml/manual/using.xml: Document libstdc++exp.a library. * doc/html/*: Regenerate. diff --git a/libstdc++-v3/doc/xml/manual/using.xml b/libstdc++-v3/doc/xml/manual/using.xml index 7f011a6d931..3a507fc1671 100644 --- a/libstdc++-v3/doc/xml/manual/using.xml +++ b/libstdc++-v3/doc/xml/manual/using.xml @@ -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> -- 2.39.2