From db7ab54fbfcc9e4ccd046786d1c6b97a6ffe2316 Mon Sep 17 00:00:00 2001 From: Jonathan Wakely <jwakely@redhat.com> Date: Wed, 19 Apr 2017 17:49:21 +0100 Subject: [PATCH] Rationalise ABI links in libstdc++ manual * doc/xml/manual/abi.xml: Rephrase one of the references to the Itanium C++ ABI. * doc/xml/manual/test.xml: Document DejaGnu 1.5.3 requirement. * doc/html/*: Regenerate. From-SVN: r247003 --- libstdc++-v3/ChangeLog | 5 +++++ libstdc++-v3/doc/html/faq.html | 2 +- libstdc++-v3/doc/html/manual/abi.html | 13 ++++++------- libstdc++-v3/doc/html/manual/status.html | 6 +----- libstdc++-v3/doc/html/manual/test.html | 7 +++++-- libstdc++-v3/doc/xml/manual/abi.xml | 9 ++++----- libstdc++-v3/doc/xml/manual/test.xml | 7 +++++-- 7 files changed, 27 insertions(+), 22 deletions(-) diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog index 4d282ad2c9df..46c20d1f7f96 100644 --- a/libstdc++-v3/ChangeLog +++ b/libstdc++-v3/ChangeLog @@ -1,5 +1,10 @@ 2017-04-19 Jonathan Wakely <jwakely@redhat.com> + * doc/xml/manual/abi.xml: Rephrase one of the references to the + Itanium C++ ABI. + * doc/xml/manual/test.xml: Document DejaGnu 1.5.3 requirement. + * doc/html/*: Regenerate. + * libsupc++/new: Update comment on #endif directive. PR libstdc++/80448 diff --git a/libstdc++-v3/doc/html/faq.html b/libstdc++-v3/doc/html/faq.html index 4e0fabae1ac7..953865544716 100644 --- a/libstdc++-v3/doc/html/faq.html +++ b/libstdc++-v3/doc/html/faq.html @@ -847,7 +847,7 @@ details than for C, and most CPU designers (for good reasons elaborated below) have not stepped up to publish C++ ABIs. Such an ABI has been defined for the Itanium architecture (see - <a class="link" href="http://mentorembedded.github.io/cxx-abi/" target="_top">C++ + <a class="link" href="https://itanium-cxx-abi.github.io/cxx-abi/" target="_top">C++ ABI for Itanium</a>) and that is used by G++ and other compilers as the de facto standard ABI on many common architectures (including x86). G++ can also use the ARM architecture's EABI, for embedded diff --git a/libstdc++-v3/doc/html/manual/abi.html b/libstdc++-v3/doc/html/manual/abi.html index 47425aabc229..2f01e37e7cdf 100644 --- a/libstdc++-v3/doc/html/manual/abi.html +++ b/libstdc++-v3/doc/html/manual/abi.html @@ -18,10 +18,9 @@ alignment and in a particular layout, mangling names according to a well-defined algorithm, has specific arrangements for the support of virtual functions, etc. These details are defined as the compiler - Application Binary Interface, or ABI. The GNU C++ compiler uses an - industry-standard C++ ABI starting with version 3. Details can be - found in the <a class="link" href="http://mentorembedded.github.io/cxx-abi/abi.html" target="_top">ABI - specification</a>. + Application Binary Interface, or ABI. From GCC version 3 onwards the + GNU C++ compiler uses an industry-standard C++ ABI, the + <a class="link" href="abi.html#biblio.cxxabi" title="Itanium C++ ABI">Itanium C++ ABI</a>. </p><p> The GNU C++ compiler, g++, has a compiler command line option to switch between various different C++ ABIs. This explicit version @@ -334,7 +333,7 @@ class that would otherwise have implicit versions. This will change the way the compiler deals with this class in by-value return statements or parameters: instead of passing instances of this class in registers, the compiler will be forced to use memory. See the -section on <a class="link" href="http://mentorembedded.github.io/cxx-abi/abi.html#calls" target="_top">Function +section on <a class="link" href="https://itanium-cxx-abi.github.io/cxx-abi/abi.html#calls" target="_top">Function Calling Conventions and APIs</a> of the C++ ABI documentation for further details. </p></li></ol></div></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a id="abi.impl"></a>Implementation</h3></div></div></div><div class="orderedlist"><ol class="orderedlist" type="1"><li class="listitem"><p> @@ -532,8 +531,8 @@ gcc test.c -g -O2 -L. -lone -ltwo /usr/lib/libstdc++.so.5 /usr/lib/libstdc++.so. ABIcheck </a> </em>. </span></p></div><div class="biblioentry"><a id="biblio.cxxabi"></a><p>[biblio.cxxabi] <span class="title"><em> - <a class="link" href="http://mentorembedded.github.io/cxx-abi/" target="_top"> - C++ ABI Summary + <a class="link" href="https://itanium-cxx-abi.github.io/cxx-abi/" target="_top"> + Itanium C++ ABI </a> </em>. </span></p></div><div class="biblioentry"><a id="id-1.3.6.3.6.10.4"></a><p><span class="title"><em> <a class="link" href="https://software.intel.com/en-us/articles/intel-compilers-for-linux-compatibility-with-gnu-compilers" target="_top"> diff --git a/libstdc++-v3/doc/html/manual/status.html b/libstdc++-v3/doc/html/manual/status.html index 0a9e91d05786..4d293cbe156f 100644 --- a/libstdc++-v3/doc/html/manual/status.html +++ b/libstdc++-v3/doc/html/manual/status.html @@ -720,11 +720,7 @@ Feature-testing recommendations for C++</a>. </a> </td><td align="center"> 6.1 </td><td align="left"><code class="code"> __cpp_lib_map_try_emplace >= 201411</code>, <code class="code"> __cpp_lib_unordered_map_try_emplace >= 201411</code> - </td></tr><tr><td align="left"> Return type of <code class="code">emplace</code> </td><td align="left"> - <a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2016/p0084r2.pdf" target="_top"> - P0084R2 - </a> - </td><td align="center"> 7 </td><td class="auto-generated">Â </td></tr><tr><td align="left"> Splicing Maps and Sets </td><td align="left"> + </td></tr><tr><td align="left"> Splicing Maps and Sets </td><td align="left"> <a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2016/p0083r3.pdf" target="_top"> P0083R3 </a> diff --git a/libstdc++-v3/doc/html/manual/test.html b/libstdc++-v3/doc/html/manual/test.html index 61950d3c6294..70341779ca74 100644 --- a/libstdc++-v3/doc/html/manual/test.html +++ b/libstdc++-v3/doc/html/manual/test.html @@ -321,8 +321,11 @@ cat 27_io/objects/char/3_xin.in | a.out</pre></dd><dt><span class="term"><code c the <code class="varname">CXXFLAGS</code> variable when running <span class="command"><strong>make</strong></span>, or via options for the DejaGnu test framework (described below). The latter approach uses the - <code class="option">--target_board</code> option that was shown earlier. - For example, to run the tests with <code class="option">-O1 -D_GLIBCXX_ASSERTIONS</code> + <code class="option">--target_board</code> option that was shown earlier, + but requires DejaGnu version 1.5.3 or newer to work reliably, so that the + <code class="literal">dg-options</code> in the test aren't overridden. + For example, to run the tests with + <code class="option">-O1 -D_GLIBCXX_ASSERTIONS</code> you could use: </p><pre class="programlisting"> make RUNTESTFLAGS=--target_board=unix/-O1/-D_GLIBCXX_ASSERTIONS</pre><p> </p><p> diff --git a/libstdc++-v3/doc/xml/manual/abi.xml b/libstdc++-v3/doc/xml/manual/abi.xml index 0e5606872586..1c816b1699b5 100644 --- a/libstdc++-v3/doc/xml/manual/abi.xml +++ b/libstdc++-v3/doc/xml/manual/abi.xml @@ -40,10 +40,9 @@ alignment and in a particular layout, mangling names according to a well-defined algorithm, has specific arrangements for the support of virtual functions, etc. These details are defined as the compiler - Application Binary Interface, or ABI. The GNU C++ compiler uses an - industry-standard C++ ABI starting with version 3. Details can be - found in the <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="https://itanium-cxx-abi.github.io/cxx-abi/">ABI - specification</link>. + Application Binary Interface, or ABI. From GCC version 3 onwards the + GNU C++ compiler uses an industry-standard C++ ABI, the + <link linkend="biblio.cxxabi">Itanium C++ ABI</link>. </para> <para> @@ -1116,7 +1115,7 @@ gcc test.c -g -O2 -L. -lone -ltwo /usr/lib/libstdc++.so.5 /usr/lib/libstdc++.so. <title> <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="https://itanium-cxx-abi.github.io/cxx-abi/"> - C++ ABI Summary + Itanium C++ ABI </link> </title> </biblioentry> diff --git a/libstdc++-v3/doc/xml/manual/test.xml b/libstdc++-v3/doc/xml/manual/test.xml index 8ae88b305e5f..7cb7dafd5df3 100644 --- a/libstdc++-v3/doc/xml/manual/test.xml +++ b/libstdc++-v3/doc/xml/manual/test.xml @@ -563,8 +563,11 @@ cat 27_io/objects/char/3_xin.in | a.out</programlisting> the <varname>CXXFLAGS</varname> variable when running <command>make</command>, or via options for the DejaGnu test framework (described below). The latter approach uses the - <option>--target_board</option> option that was shown earlier. - For example, to run the tests with <option>-O1 -D_GLIBCXX_ASSERTIONS</option> + <option>--target_board</option> option that was shown earlier, + but requires DejaGnu version 1.5.3 or newer to work reliably, so that the + <literal>dg-options</literal> in the test aren't overridden. + For example, to run the tests with + <option>-O1 -D_GLIBCXX_ASSERTIONS</option> you could use: <programlisting> make RUNTESTFLAGS=--target_board=unix/-O1/-D_GLIBCXX_ASSERTIONS</programlisting> </para> -- GitLab