From: Jonathan Wakely Date: Wed, 12 Apr 2023 22:23:47 +0000 (+0100) Subject: libstdc++: Document libstdc++exp.a library for -fcontracts X-Git-Tag: basepoints/gcc-14~43 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=adda0e288727eab5635d8df153f104021e0121d6;p=thirdparty%2Fgcc.git libstdc++: Document libstdc++exp.a library for -fcontracts libstdc++-v3/ChangeLog: * doc/xml/manual/using.xml: Document libstdc++exp.a library. * doc/html/*: Regenerate. --- diff --git a/libstdc++-v3/doc/html/manual/using.html b/libstdc++-v3/doc/html/manual/using.html index f23325ebe974..eebb35da279f 100644 --- a/libstdc++-v3/doc/html/manual/using.html +++ b/libstdc++-v3/doc/html/manual/using.html @@ -31,6 +31,9 @@ -lstdc++fsLinking to libstdc++fs is required for use of the Filesystem library extensions in <experimental/filesystem>. + -lstdc++expLinking to libstdc++exp + is required for use of the C++ Contracts extensions enabled by + -fcontracts. -lstdc++_libbacktraceUntil C++23 support is non-experimental, linking to libstdc++_libbacktrace.a 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 73d1f18485fa..46ccbc55c338 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 <experimental/filesystem> and link with -lstdc++fs. 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.

- Due to the experimental nature of the Filesystem library the usual + GCC 13 includes an implementation of the C++ Contracts library defined by + P1429R3. + Because this is an experimental extension, not part of the C++ standard, + it is implemented in a separate library, + libstdc++exp.a, and there is + no shared library for it. To use the library you should include + <experimental/contract> + and link with -lstdc++exp. +

+ 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 <experimental/xxx> header will remain compatible between different GCC releases.

\ 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 7f011a6d9316..3a507fc1671b 100644 --- a/libstdc++-v3/doc/xml/manual/using.xml +++ b/libstdc++-v3/doc/xml/manual/using.xml @@ -108,6 +108,14 @@ + + -lstdc++exp + Linking to libstdc++exp + is required for use of the C++ Contracts extensions enabled by + -fcontracts. + + + -lstdc++_libbacktrace 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 <experimental/filesystem> and link with . 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. + + + + GCC 13 includes an implementation of the C++ Contracts library defined by + P1429R3. + Because this is an experimental extension, not part of the C++ standard, + it is implemented in a separate library, + libstdc++exp.a, and there is + no shared library for it. To use the library you should include + <experimental/contract> + and link with . - 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 <experimental/xxx> header will remain compatible between different GCC releases.