Rationalise ABI links in libstdc++ manual
authorJonathan Wakely <jwakely@redhat.com>
Wed, 19 Apr 2017 16:49:21 +0000 (17:49 +0100)
committerJonathan Wakely <redi@gcc.gnu.org>
Wed, 19 Apr 2017 16:49:21 +0000 (17:49 +0100)
* 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
libstdc++-v3/doc/html/faq.html
libstdc++-v3/doc/html/manual/abi.html
libstdc++-v3/doc/html/manual/status.html
libstdc++-v3/doc/html/manual/test.html
libstdc++-v3/doc/xml/manual/abi.xml
libstdc++-v3/doc/xml/manual/test.xml

index 4d282ad..46c20d1 100644 (file)
@@ -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
index 4e0faba..9538655 100644 (file)
     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
index 47425aa..2f01e37 100644 (file)
   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">
index 0a9e91d..4d293cb 100644 (file)
@@ -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 &gt;= 201411</code>,
             <code class="code"> __cpp_lib_unordered_map_try_emplace &gt;= 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>
index 61950d3..7034177 100644 (file)
@@ -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>
index 0e56068..1c816b1 100644 (file)
   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>
index 8ae88b3..7cb7daf 100644 (file)
@@ -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>