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
This commit is contained in:
parent
f19e6a9c0b
commit
db7ab54fbf
7 changed files with 27 additions and 22 deletions
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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">
|
||||
|
|
|
@ -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>
|
||||
|
|
|
@ -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>
|
||||
|
|
|
@ -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>
|
||||
|
|
|
@ -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>
|
||||
|
|
Loading…
Add table
Reference in a new issue