From: Jonathan Wakely Date: Wed, 19 Apr 2017 16:49:21 +0000 (+0100) Subject: Rationalise ABI links in libstdc++ manual X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=db7ab54fbfcc9e4ccd046786d1c6b97a6ffe2316;p=gcc.git 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 --- diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog index 4d282ad2c9d..46c20d1f7f9 100644 --- a/libstdc++-v3/ChangeLog +++ b/libstdc++-v3/ChangeLog @@ -1,5 +1,10 @@ 2017-04-19 Jonathan Wakely + * 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 4e0fabae1ac..95386554471 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 - C++ + C++ ABI for Itanium) 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 47425aabc22..2f01e37e7cd 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 ABI - specification. + Application Binary Interface, or ABI. From GCC version 3 onwards the + GNU C++ compiler uses an industry-standard C++ ABI, the + Itanium C++ ABI.

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 Function +section on Function Calling Conventions and APIs of the C++ ABI documentation for further details.

Implementation

  1. @@ -532,8 +531,8 @@ gcc test.c -g -O2 -L. -lone -ltwo /usr/lib/libstdc++.so.5 /usr/lib/libstdc++.so. ABIcheck .

diff --git a/libstdc++-v3/doc/html/manual/status.html b/libstdc++-v3/doc/html/manual/status.html index 0a9e91d0578..4d293cbe156 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++. 6.1 __cpp_lib_map_try_emplace >= 201411, __cpp_lib_unordered_map_try_emplace >= 201411 - Return type of emplace - - P0084R2 - - 7   Splicing Maps and Sets + Splicing Maps and Sets P0083R3 diff --git a/libstdc++-v3/doc/html/manual/test.html b/libstdc++-v3/doc/html/manual/test.html index 61950d3c629..70341779ca7 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

CXXFLAGS variable when running make, or via options for the DejaGnu test framework (described below). The latter approach uses the - --target_board option that was shown earlier. - For example, to run the tests with -O1 -D_GLIBCXX_ASSERTIONS + --target_board option that was shown earlier, + but requires DejaGnu version 1.5.3 or newer to work reliably, so that the + dg-options in the test aren't overridden. + For example, to run the tests with + -O1 -D_GLIBCXX_ASSERTIONS you could use:

    make RUNTESTFLAGS=--target_board=unix/-O1/-D_GLIBCXX_ASSERTIONS

diff --git a/libstdc++-v3/doc/xml/manual/abi.xml b/libstdc++-v3/doc/xml/manual/abi.xml index 0e560687258..1c816b1699b 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 ABI - specification. + Application Binary Interface, or ABI. From GCC version 3 onwards the + GNU C++ compiler uses an industry-standard C++ ABI, the + Itanium C++ ABI. @@ -1116,7 +1115,7 @@ gcc test.c -g -O2 -L. -lone -ltwo /usr/lib/libstdc++.so.5 /usr/lib/libstdc++.so. <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> diff --git a/libstdc++-v3/doc/xml/manual/test.xml b/libstdc++-v3/doc/xml/manual/test.xml index 8ae88b305e5..7cb7dafd5df 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 the CXXFLAGS variable when running make, or via options for the DejaGnu test framework (described below). The latter approach uses the - option that was shown earlier. - For example, to run the tests with + option that was shown earlier, + but requires DejaGnu version 1.5.3 or newer to work reliably, so that the + dg-options in the test aren't overridden. + For example, to run the tests with + you could use: make RUNTESTFLAGS=--target_board=unix/-O1/-D_GLIBCXX_ASSERTIONS