This documents how to use the Filsystem TS library. Committed to trunk.
commit 2d8dfef4311b51a2743f5ab722d467792c7c32dd Author: Jonathan Wakely <jwak...@redhat.com> Date: Fri Oct 16 14:53:46 2015 +0100 Document options for Filesystem TS library * doc/xml/manual/configure.xml: Document --enable-libstdcxx-filesystem-ts option. * doc/xml/manual/status_cxx2014.xml: Document libstdc++fs.a. * doc/xml/manual/using.xml: Likewise. * doc/html/*: Regenerate. diff --git a/libstdc++-v3/doc/xml/manual/configure.xml b/libstdc++-v3/doc/xml/manual/configure.xml index 2f558d2..ac383cf 100644 --- a/libstdc++-v3/doc/xml/manual/configure.xml +++ b/libstdc++-v3/doc/xml/manual/configure.xml @@ -411,6 +411,15 @@ </para> </listitem></varlistentry> + <varlistentry><term><code>--enable-libstdcxx-filesystem-ts</code>[default]</term> + <listitem> + <para>Build <filename class="libraryfile">libstdc++fs.a</filename> as well + as the usual libstdc++ and libsupc++ libraries. This is enabled by + default on select POSIX targets where it is known to work and disabled + otherwise. + </para> + </listitem></varlistentry> + </variablelist> </section> diff --git a/libstdc++-v3/doc/xml/manual/status_cxx2014.xml b/libstdc++-v3/doc/xml/manual/status_cxx2014.xml index d022ea4..6f1fbe5 100644 --- a/libstdc++-v3/doc/xml/manual/status_cxx2014.xml +++ b/libstdc++-v3/doc/xml/manual/status_cxx2014.xml @@ -402,7 +402,11 @@ not in any particular release. </entry> <entry>File System</entry> <entry>Y</entry> - <entry></entry> + <entry> + Link with + <link linkend="manual.intro.using.linkage.experimental"> + <option>-lstdc++fs</option></link> + </entry> </row> diff --git a/libstdc++-v3/doc/xml/manual/using.xml b/libstdc++-v3/doc/xml/manual/using.xml index 2c8d179..96ae686 100644 --- a/libstdc++-v3/doc/xml/manual/using.xml +++ b/libstdc++-v3/doc/xml/manual/using.xml @@ -96,6 +96,14 @@ </row> <row> + <entry><literal>-lstdc++fs</literal></entry> + <entry>Linking to <filename class="libraryfile">libstdc++fs</filename> + is required for use of the Filesystem library extensions in + <filename class="headerfile"><experimental/filesystem></filename>. + </entry> + </row> + + <row> <entry><literal>-fopenmp</literal></entry> <entry>For <link linkend="manual.ext.parallel_mode">parallel</link> mode.</entry> </row> @@ -1361,8 +1369,31 @@ A quick read of the relevant part of the GCC you. </para> </section> - </section> + <section xml:id="manual.intro.using.linkage.experimental" xreflabel="Library Extensions"><info><title>Experimental Library Extensions</title></info> + + <para> + GCC 5.3 includes an implementation of the Filesystem library defined + by the technical specification ISO/IEC TS 18822:2015. Because this is + an experimental library extension, not part of the C++ standard, it + is implemented in a separate library, + <filename class="libraryfile">libstdc++fs.a</filename>, and there is + 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. + </para> + + <para> + Due to the experimental nature of the Filesystem library the usual + guarantees about ABI stability and backwards compatibility do not apply + to it. There is no guarantee that the components in any + <filename class="headerfile"><experimental/xxx></filename> + header will remain compatible between different GCC releases. + </para> + </section> + </section> <section xml:id="manual.intro.using.concurrency" xreflabel="Concurrency"><info><title>Concurrency</title></info> <?dbhtml filename="using_concurrency.html"?>