[gcc r15-3658] libstdc++: Update link to installation docs
https://gcc.gnu.org/g:719edcba4d177918b189f27c272f80cd6da7cbc9 commit r15-3658-g719edcba4d177918b189f27c272f80cd6da7cbc9 Author: Gerald Pfeifer Date: Mon Sep 16 08:02:55 2024 +0700 libstdc++: Update link to installation docs libstdc++-v3: * doc/xml/manual/intro.xml: Update link to installation docs. * doc/html/manual/make.html: Regenerate. Diff: --- libstdc++-v3/doc/html/manual/make.html | 2 +- libstdc++-v3/doc/xml/manual/intro.xml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/libstdc++-v3/doc/html/manual/make.html b/libstdc++-v3/doc/html/manual/make.html index f273e4b204f6..acd025200f5b 100644 --- a/libstdc++-v3/doc/html/manual/make.html +++ b/libstdc++-v3/doc/html/manual/make.html @@ -1,6 +1,6 @@ http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd";>http://www.w3.org/1999/xhtml";>MakeMakePrev Chapter 2. Setup NextMakeIf you have never done this before, you should read the basic - http://gcc.gnu.org/install/"; target="_top">GCC Installation + https://gcc.gnu.org/install/"; target="_top">GCC Installation Instructions first. Read all of them. Twice. Then type: make, and congratulations, you've diff --git a/libstdc++-v3/doc/xml/manual/intro.xml b/libstdc++-v3/doc/xml/manual/intro.xml index f5037acdb5cc..b940e9cfa909 100644 --- a/libstdc++-v3/doc/xml/manual/intro.xml +++ b/libstdc++-v3/doc/xml/manual/intro.xml @@ -1364,7 +1364,7 @@ requirements of the license of GCC. If you have never done this before, you should read the basic - http://www.w3.org/1999/xlink"; xlink:href="http://gcc.gnu.org/install/";>GCC Installation + http://www.w3.org/1999/xlink"; xlink:href="https://gcc.gnu.org/install/";>GCC Installation Instructions first. Read all of them. Twice.
[gcc r15-2967] libstdc++: Update references to gcc.gnu.org/onlinedocs
https://gcc.gnu.org/g:e68ab0f16072af97f0898fa0a14e72fcda442775 commit r15-2967-ge68ab0f16072af97f0898fa0a14e72fcda442775 Author: Gerald Pfeifer Date: Sat Aug 17 15:21:21 2024 +0200 libstdc++: Update references to gcc.gnu.org/onlinedocs libstdc++-v3: * doc/xml/manual/abi.xml: Update reference to gcc.gnu.org/onlinedocs. * doc/xml/manual/concurrency_extensions.xml (interface): Ditto. * doc/xml/manual/extensions.xml: Ditto. * doc/xml/manual/parallel_mode.xml: Ditto. * doc/xml/manual/shared_ptr.xml: Ditto. * doc/xml/manual/using_exceptions.xml: Ditto. And change GNU GCC to GCC. * doc/html/manual/abi.html: Regenerate. * doc/html/manual/ext_concurrency_impl.html: Ditto. * doc/html/manual/ext_demangling.html: Ditto. * doc/html/manual/memory.html: Ditto. * doc/html/manual/parallel_mode_design.html: Ditto. * doc/html/manual/parallel_mode_using.html: Ditto. * doc/html/manual/using_exceptions.html: Ditto. Diff: --- libstdc++-v3/doc/html/manual/abi.html | 2 +- libstdc++-v3/doc/html/manual/ext_concurrency_impl.html | 4 ++-- libstdc++-v3/doc/html/manual/ext_demangling.html | 2 +- libstdc++-v3/doc/html/manual/memory.html | 2 +- libstdc++-v3/doc/html/manual/parallel_mode_design.html | 2 +- libstdc++-v3/doc/html/manual/parallel_mode_using.html | 2 +- libstdc++-v3/doc/html/manual/using_exceptions.html | 2 +- libstdc++-v3/doc/xml/manual/abi.xml| 2 +- libstdc++-v3/doc/xml/manual/concurrency_extensions.xml | 4 ++-- libstdc++-v3/doc/xml/manual/extensions.xml | 2 +- libstdc++-v3/doc/xml/manual/parallel_mode.xml | 4 ++-- libstdc++-v3/doc/xml/manual/shared_ptr.xml | 2 +- libstdc++-v3/doc/xml/manual/using_exceptions.xml | 4 ++-- 13 files changed, 17 insertions(+), 17 deletions(-) diff --git a/libstdc++-v3/doc/html/manual/abi.html b/libstdc++-v3/doc/html/manual/abi.html index 0eb6a12a501..8dab47dbb93 100644 --- a/libstdc++-v3/doc/html/manual/abi.html +++ b/libstdc++-v3/doc/html/manual/abi.html @@ -28,7 +28,7 @@ g++ command line options may change the ABI as a side-effect of use. Such flags include -fpack-struct and -fno-exceptions, but include others: see the complete - list in the GCC manual under the heading http://gcc.gnu.org/onlinedocs/gcc/Code-Gen-Options.html#Code%20Gen%20Options"; target="_top">Options + list in the GCC manual under the heading https://gcc.gnu.org/onlinedocs/gcc/Code-Gen-Options.html#Code%20Gen%20Options"; target="_top">Options for Code Generation Conventions. The configure options used when building a specific libstdc++ diff --git a/libstdc++-v3/doc/html/manual/ext_concurrency_impl.html b/libstdc++-v3/doc/html/manual/ext_concurrency_impl.html index 23b90f34572..669c07cf291 100644 --- a/libstdc++-v3/doc/html/manual/ext_concurrency_impl.html +++ b/libstdc++-v3/doc/html/manual/ext_concurrency_impl.html @@ -34,7 +34,7 @@ non-ancient x86 hardware, -march=native usually does t trick. For hosts without compiler intrinsics, but with capable hardware, hand-crafted assembly is selected. This is the case for the following hosts: crishppai386i486m48kmipssparcAnd for the rest, a simulated atomic lock via pthreads. - Detailed information about compiler intrinsics for atomic operations can be found in the GCC http://gcc.gnu.org/onlinedocs/gcc/_005f_005fatomic-Builtins.html"; target="_top"> documentation. +Detailed information about compiler intrinsics for atomic operations can be found in the GCC https://gcc.gnu.org/onlinedocs/gcc/_005f_005fatomic-Builtins.html"; target="_top"> documentation. More details on the library fallbacks from the porting section. Thread AbstractionA thin layer above IEEE 1003.1 (i.e. pthreads) is used to abstract the thread interface for GCC. This layer is called "gthread," and is @@ -44,7 +44,7 @@ a POSIX-like interface. the current host. In libstdc++ implementation files,is used to select the proper gthreads file. Within libstdc++ sources, all calls to underlying thread functionality -use this layer. More detail as to the specific interface can be found in the source http://gcc.gnu.org/onlinedocs/libstdc++/latest-doxygen/index.html"; target="_top">documentation. +use this layer. More detail as to the specific interface can be found in the source https://gcc.gnu.org/onlinedocs/libstdc++/latest-doxygen/index.html"; target="_top">documentation. By design, the gthread layer is interoperable with the types, functions, and usage found in the usual file, including pthread_t, pthread_once_t, pthread_create, diff --git a/libstdc++-v3/doc/html/manual/ext_demangling.html b/libstdc++-v3/doc/html/manual/ext_demangling.html index b5fb87b91c5..1eae99a1859 100644 --- a/libstdc++-v3/doc/html/manual/ext_demangling.html +++ b/libs
[gcc r15-1977] libstdc++: Switch gcc.gnu.org links to https
https://gcc.gnu.org/g:26c9b095edf1ffa217f6cb2783b8ccfc5f4b1393 commit r15-1977-g26c9b095edf1ffa217f6cb2783b8ccfc5f4b1393 Author: Gerald Pfeifer Date: Thu Jul 11 23:58:45 2024 +0200 libstdc++: Switch gcc.gnu.org links to https libstdc++-v3: * doc/xml/manual/using.xml: Switch gcc.gnu.org links to https. * doc/html/manual/using_concurrency.html: Regenerate. * doc/html/manual/using_dynamic_or_shared.html: Ditto. * doc/html/manual/using_headers.html: Ditto. * doc/html/manual/using_namespaces.html: Ditto. Diff: --- libstdc++-v3/doc/html/manual/using_concurrency.html | 2 +- libstdc++-v3/doc/html/manual/using_dynamic_or_shared.html | 4 ++-- libstdc++-v3/doc/html/manual/using_headers.html | 2 +- libstdc++-v3/doc/html/manual/using_namespaces.html| 2 +- libstdc++-v3/doc/xml/manual/using.xml | 10 +- 5 files changed, 10 insertions(+), 10 deletions(-) diff --git a/libstdc++-v3/doc/html/manual/using_concurrency.html b/libstdc++-v3/doc/html/manual/using_concurrency.html index e09fc5e15bcb..d21f15884949 100644 --- a/libstdc++-v3/doc/html/manual/using_concurrency.html +++ b/libstdc++-v3/doc/html/manual/using_concurrency.html @@ -62,7 +62,7 @@ gcc version 4.1.2 20070925 (Red Hat 4.1.2-33) and -march=native, although specifics vary depending on the host environment. See Command Options and -http://gcc.gnu.org/onlinedocs/gcc/Option-Summary.html"; target="_top">Machine +https://gcc.gnu.org/onlinedocs/gcc/Option-Summary.html"; target="_top">Machine Dependent Options. An implementation of the diff --git a/libstdc++-v3/doc/html/manual/using_dynamic_or_shared.html b/libstdc++-v3/doc/html/manual/using_dynamic_or_shared.html index f1e727800c28..a5a99ffef58c 100644 --- a/libstdc++-v3/doc/html/manual/using_dynamic_or_shared.html +++ b/libstdc++-v3/doc/html/manual/using_dynamic_or_shared.html @@ -75,10 +75,10 @@ But how? A quick read of the relevant part of the GCC - manual, http://gcc.gnu.org/onlinedocs/gcc/Invoking-G_002b_002b.html#Invoking-G_002b_002b"; target="_top">Compiling + manual, https://gcc.gnu.org/onlinedocs/gcc/Invoking-G_002b_002b.html#Invoking-G_002b_002b"; target="_top">Compiling C++ Programs, specifies linking against a C++ library. More details from the - GCC http://gcc.gnu.org/faq.html#rpath"; target="_top">FAQ, + GCC https://gcc.gnu.org/faq.html#rpath"; target="_top">FAQ, which states GCC does not, by default, specify a location so that the dynamic linker can find dynamic libraries at runtime. diff --git a/libstdc++-v3/doc/html/manual/using_headers.html b/libstdc++-v3/doc/html/manual/using_headers.html index a267e087a9d3..5f6698626541 100644 --- a/libstdc++-v3/doc/html/manual/using_headers.html +++ b/libstdc++-v3/doc/html/manual/using_headers.html @@ -186,5 +186,5 @@ g++ -Winvalid-pch -I. -include stdc++.h -H -g -O2 hello.cc -o test.exe ! ./stdc++.h.gch . /mnt/share/bld/H-x86-gcc.20071201/include/c++/4.3.0/iostream . /mnt/share/bld/H-x86-gcc.20071201include/c++/4.3.0/string -The exclamation point to the left of the stdc++.h.gch listing means that the generated PCH file was used. Detailed information about creating precompiled header files can be found in the GCC http://gcc.gnu.org/onlinedocs/gcc/Precompiled-Headers.html"; target="_top">documentation. +The exclamation point to the left of the stdc++.h.gch listing means that the generated PCH file was used. Detailed information about creating precompiled header files can be found in the GCC https://gcc.gnu.org/onlinedocs/gcc/Precompiled-Headers.html"; target="_top">documentation. Prev Up NextChapter 3. Using Home Macros \ No newline at end of file diff --git a/libstdc++-v3/doc/html/manual/using_namespaces.html b/libstdc++-v3/doc/html/manual/using_namespaces.html index b036d6fa6ac6..1d0de6ca30db 100644 --- a/libstdc++-v3/doc/html/manual/using_namespaces.html +++ b/libstdc++-v3/doc/html/manual/using_namespaces.html @@ -13,7 +13,7 @@ and __gnu_pbds. The library uses a number of inline namespaces as implementation details that are not intended for users to refer to directly, these include std::__detail, std::__cxx11 and std::_V2. - A complete list of implementation namespaces (including namespace contents) is available in the generated source http://gcc.gnu.org/onlinedocs/libstdc++/latest-doxygen/namespaces.html"; target="_top">documentation. +A complete list of implementation namespaces (including namespace contents) is available in the generated source https://gcc.gnu.org/onlinedocs/libstdc++/latest-doxygen/namespaces.html"; target="_top">documentation. namespace std One standard requirement is that the library components are defined in namespace std::. Thus, in order to use these types or diff --git a/libstdc++-v3/doc/xml/manual/using.xml b/lib
[gcc r15-1558] libstdc++: Move gcc.gnu.org and sourceware.org links to https
https://gcc.gnu.org/g:d4adba21a7a1428a0ad1a2647fe98fca77f5bf3c commit r15-1558-gd4adba21a7a1428a0ad1a2647fe98fca77f5bf3c Author: Gerald Pfeifer Date: Sat Jun 22 14:44:11 2024 +0200 libstdc++: Move gcc.gnu.org and sourceware.org links to https libstdc++-v3: * doc/xml/manual/debug.xml: Move gcc.gnu.org link to https. Ditto for sourceware.org links. * doc/html/manual/debug.html: Regenerate. Diff: --- libstdc++-v3/doc/html/manual/debug.html | 10 +- libstdc++-v3/doc/xml/manual/debug.xml | 8 2 files changed, 9 insertions(+), 9 deletions(-) diff --git a/libstdc++-v3/doc/html/manual/debug.html b/libstdc++-v3/doc/html/manual/debug.html index eb83d4e15ac..a5f51569e00 100644 --- a/libstdc++-v3/doc/html/manual/debug.html +++ b/libstdc++-v3/doc/html/manual/debug.html @@ -27,7 +27,7 @@ platform can be identified via the value set by the PREFERRED_DEBUGGING_TYPE macro in the GCC sources. - Many other options are available: please see http://gcc.gnu.org/onlinedocs/gcc/Debugging-Options.html#Debugging%20Options"; target="_top">"Options + Many other options are available: please see https://gcc.gnu.org/onlinedocs/gcc/Debugging-Options.html#Debugging%20Options"; target="_top">"Options for Debugging Your Program" in Using the GNU Compiler Collection (GCC) for a complete list. Debug Mode @@ -180,7 +180,7 @@ Refer to the documentation of each particular tool for details. Using gdb - Many options are available for GDB itself: please see http://sourceware.org/gdb/current/onlinedocs/gdb"; target="_top"> + Many options are available for GDB itself: please see https://sourceware.org/gdb/current/onlinedocs/gdb"; target="_top"> "GDB features for C++" in the GDB documentation. Also recommended: the other parts of this manual. @@ -214,12 +214,12 @@ print the classes as if the Python pretty-printers were not loaded. For additional information on STL support and GDB please visit: - http://sourceware.org/gdb/wiki/STLSupport"; target="_top"> "GDB Support + https://sourceware.org/gdb/wiki/STLSupport"; target="_top"> "GDB Support for STL" in the GDB wiki. Additionally, in-depth documentation and discussion of the pretty printing feature can be found in "Pretty Printing" node in the GDB manual. You can find on-line versions of the GDB user manual in GDB's homepage, at - http://sourceware.org/gdb/"; target="_top"> "GDB: The GNU Project + https://sourceware.org/gdb/"; target="_top"> "GDB: The GNU Project Debugger" . Debug Versions of Library Binary Files As described above, libstdc++ is built with debug symbols enabled by default, @@ -250,4 +250,4 @@ with C++11 and later standards. They might be removed at a future date. Prev Up NextExceptions Home Part II. Standard Contents - \ No newline at end of file + diff --git a/libstdc++-v3/doc/xml/manual/debug.xml b/libstdc++-v3/doc/xml/manual/debug.xml index 23dbae5e521..44784071538 100644 --- a/libstdc++-v3/doc/xml/manual/debug.xml +++ b/libstdc++-v3/doc/xml/manual/debug.xml @@ -49,7 +49,7 @@ - Many other options are available: please see http://www.w3.org/1999/xlink"; xlink:href="http://gcc.gnu.org/onlinedocs/gcc/Debugging-Options.html#Debugging%20Options";>"Options + Many other options are available: please see http://www.w3.org/1999/xlink"; xlink:href="https://gcc.gnu.org/onlinedocs/gcc/Debugging-Options.html#Debugging%20Options";>"Options for Debugging Your Program" in Using the GNU Compiler Collection (GCC) for a complete list. @@ -270,7 +270,7 @@ - Many options are available for GDB itself: please see http://www.w3.org/1999/xlink"; xlink:href="http://sourceware.org/gdb/current/onlinedocs/gdb";> + Many options are available for GDB itself: please see http://www.w3.org/1999/xlink"; xlink:href="https://sourceware.org/gdb/current/onlinedocs/gdb";> "GDB features for C++" in the GDB documentation. Also recommended: the other parts of this manual. @@ -316,12 +316,12 @@ For additional information on STL support and GDB please visit: - http://www.w3.org/1999/xlink"; xlink:href="http://sourceware.org/gdb/wiki/STLSupport";> "GDB Support + http://www.w3.org/1999/xlink"; xlink:href="https://sourceware.org/gdb/wiki/STLSupport";> "GDB Support for STL" in the GDB wiki. Additionally, in-depth documentation and discussion of the pretty printing feature can be found in "Pretty Printing" node in the GDB manual. You can find on-line versions of the GDB user manual in GDB's homepage, at - http://www.w3.org/1999/xlink"; xlink:href="http://sourceware.org/gdb/";> "GDB: The GNU Project + http://www.w3.org/1999/xlink"; xlink:href="https://sourceware.org/gdb/";> "GDB: The GNU Project Debugger" .
[gcc r15-5376] libstdc++: Update reference to Angelika Langer's article
https://gcc.gnu.org/g:83e86397b0c1d97c24075793cc5311b48baa2907 commit r15-5376-g83e86397b0c1d97c24075793cc5311b48baa2907 Author: Gerald Pfeifer Date: Mon Nov 18 08:33:49 2024 +0100 libstdc++: Update reference to Angelika Langer's article libstdc++-v3: * doc/xml/manual/allocator.xml: Update reference to Angelika Langer's article. * doc/html/manual/memory.html: Regenerate. Diff: --- libstdc++-v3/doc/html/manual/memory.html | 2 +- libstdc++-v3/doc/xml/manual/allocator.xml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/libstdc++-v3/doc/html/manual/memory.html b/libstdc++-v3/doc/html/manual/memory.html index 8b583591d7d7..e24af81e83b3 100644 --- a/libstdc++-v3/doc/html/manual/memory.html +++ b/libstdc++-v3/doc/html/manual/memory.html @@ -296,7 +296,7 @@ Reconsidering Custom Memory Allocation . Emery Berger. Ben Zorn. Kathryn McKinley. Copyright © 2002 OOPSLA. - http://www.angelikalanger.com/Articles/C++Report/Allocators/Allocators.html"; target="_top"> + https://angelikalanger.com/Articles/C++Report/Allocators/Allocators.html"; target="_top"> Allocator Types . Klaus Kreft. Angelika Langer. diff --git a/libstdc++-v3/doc/xml/manual/allocator.xml b/libstdc++-v3/doc/xml/manual/allocator.xml index 7e74dca404ae..f9fab499abcf 100644 --- a/libstdc++-v3/doc/xml/manual/allocator.xml +++ b/libstdc++-v3/doc/xml/manual/allocator.xml @@ -505,7 +505,7 @@ http://www.w3.org/1999/xlink"; - xlink:href="http://www.angelikalanger.com/Articles/C++Report/Allocators/Allocators.html";> + xlink:href="https://angelikalanger.com/Articles/C++Report/Allocators/Allocators.html";> Allocator Types
[gcc r15-5363] libstdc++: Update link to Angelika Langer's book
https://gcc.gnu.org/g:6d52a568ddde63cea805ad08728a837ccd93bb8f commit r15-5363-g6d52a568ddde63cea805ad08728a837ccd93bb8f Author: Gerald Pfeifer Date: Sun Nov 17 12:05:36 2024 +0100 libstdc++: Update link to Angelika Langer's book libstdc++-v3: * doc/xml/manual/io.xml: Update link to Angelika Langer's book. * doc/html/manual/streambufs.html: Regenerate. Diff: --- libstdc++-v3/doc/html/manual/streambufs.html | 2 +- libstdc++-v3/doc/xml/manual/io.xml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/libstdc++-v3/doc/html/manual/streambufs.html b/libstdc++-v3/doc/html/manual/streambufs.html index d3c592177f08..e299d70cb0f1 100644 --- a/libstdc++-v3/doc/html/manual/streambufs.html +++ b/libstdc++-v3/doc/html/manual/streambufs.html @@ -6,7 +6,7 @@ Creating your own stream buffers for I/O can be remarkably easy. If you are interested in doing so, we highly recommend two very excellent books: - http://www.angelikalanger.com/iostreams.html"; target="_top">Standard C++ + https://angelikalanger.com/iostreams.html"; target="_top">Standard C++ IOStreams and Locales by Langer and Kreft, ISBN 0-201-18395-1, and http://www.josuttis.com/libbook/"; target="_top">The C++ Standard Library by Nicolai Josuttis, ISBN 0-201-37926-0. Both are published by diff --git a/libstdc++-v3/doc/xml/manual/io.xml b/libstdc++-v3/doc/xml/manual/io.xml index 8380683561a6..d6fe2ce841d5 100644 --- a/libstdc++-v3/doc/xml/manual/io.xml +++ b/libstdc++-v3/doc/xml/manual/io.xml @@ -190,7 +190,7 @@ Creating your own stream buffers for I/O can be remarkably easy. If you are interested in doing so, we highly recommend two very excellent books: - http://www.w3.org/1999/xlink"; xlink:href="http://www.angelikalanger.com/iostreams.html";>Standard C++ + http://www.w3.org/1999/xlink"; xlink:href="https://angelikalanger.com/iostreams.html";>Standard C++ IOStreams and Locales by Langer and Kreft, ISBN 0-201-18395-1, and http://www.w3.org/1999/xlink"; xlink:href="http://www.josuttis.com/libbook/";>The C++ Standard Library by Nicolai Josuttis, ISBN 0-201-37926-0. Both are published by
[gcc r15-6457] libstdc++: Delete leftover from Profile Mode removal
https://gcc.gnu.org/g:56dfadd185bbcc6af82a59bbf60f042646c2f636 commit r15-6457-g56dfadd185bbcc6af82a59bbf60f042646c2f636 Author: Gerald Pfeifer Date: Sun Dec 29 21:44:50 2024 +0800 libstdc++: Delete leftover from Profile Mode removal Commit 544be2beb1fa in 2019 remove Profile Mode and associated docs including the XML version of profile_mode_diagnostics.html. Somehow the latter survived until now. Simply delete it as well. libstdc++-v3: * doc/html/manual/profile_mode_diagnostics.html: Delete. Diff: --- .../doc/html/manual/profile_mode_diagnostics.html | 557 - 1 file changed, 557 deletions(-) diff --git a/libstdc++-v3/doc/html/manual/profile_mode_diagnostics.html b/libstdc++-v3/doc/html/manual/profile_mode_diagnostics.html deleted file mode 100644 index 2c4140f8af30.. --- a/libstdc++-v3/doc/html/manual/profile_mode_diagnostics.html +++ /dev/null @@ -1,557 +0,0 @@ - -http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd";>http://www.w3.org/1999/xhtml";>DiagnosticsDiagnosticsPrev Chapter 19. Profile Mode NextDiagnostics - The table below presents all the diagnostics we intend to implement. - Each diagnostic has a corresponding compile time switch - -D_GLIBCXX_PROFILE_. - Groups of related diagnostics can be turned on with a single switch. - For instance, -D_GLIBCXX_PROFILE_LOCALITY is equivalent to - -D_GLIBCXX_PROFILE_SOFTWARE_PREFETCH - -D_GLIBCXX_PROFILE_RBTREE_LOCALITY. - - The benefit, cost, expected frequency and accuracy of each diagnostic - was given a grade from 1 to 10, where 10 is highest. - A high benefit means that, if the diagnostic is accurate, the expected - performance improvement is high. - A high cost means that turning this diagnostic on leads to high slowdown. - A high frequency means that we expect this to occur relatively often. - A high accuracy means that the diagnostic is unlikely to be wrong. - These grades are not perfect. They are just meant to guide users with - specific needs or time budgets. - Table 19.2. Profile DiagnosticsGroupFlagBenefitCostFreq.Implemented -CONTAINERS -HASHTABLE_TOO_SMALL101 10yes -HASHTABLE_TOO_LARGE51 10yes -INEFFICIENT_HASH73 10yes -VECTOR_TOO_SMALL81 10yes -VECTOR_TOO_LARGE51 10yes -VECTOR_TO_HASHTABLE77 10no -HASHTABLE_TO_VECTOR77 10no -VECTOR_TO_LIST85 10yes -LIST_TO_VECTOR105 10no -ORDERED_TO_UNORDERED105 10only map/unordered_map -ALGORITHMS -SORT78 7no -LOCALITY -SOFTWARE_PREFETCH88 5no -RBTREE_LOCALITY48 5no -FALSE_SHARING810 10noDiagnostic TemplateSwitch: - _GLIBCXX_PROFILE_ . - Goal: What problem will it diagnose? - Fundamentals:. - What is the fundamental reason why this is a problemSample runtime reduction: - Percentage reduction in execution time. When reduction is more than - a constant factor, describe the reduction rate formula. - Recommendation: - What would the advise look like?To instrument: - What stdlibc++ components need to be instrumented?Analysis: - How do we decide when to issue the advice?Cost model: - How do we measure benefits? Math goes here.Example: - -program code -... -advice sample - -Containers -Switch: - _GLIBCXX_PROFILE_CONTAINERS. -Hashtable Too SmallSwitch: - _GLIBCXX_PROFILE_HASHTABLE_TOO_SMALL. - Goal: Detect hashtables with many - rehash operations, small construction size and large destruction size. - Fundamentals: Rehash is very expensive. - Read content, follow chains within bucket, evaluate hash function, place at - new location in different order.Sample runtime reduction: 36%. - Code similar to example below. - Recommendation: - Set initial size to N at construction site S. - To instrument: - unordered_set, unordered_map constructor, destructor, rehash. - Analysis: - For each dynamic instance of unordered_[multi]set|map, - record initial size and call context of the constructor. - Record size increase, if any, after each relevant operation such as insert. - Record the estimated rehash cost.Cost model: - Number of individual rehash operations * cost per rehash.Example: - -1 unordered_set us; -2 for (int k = 0; k < 100; ++k) { -3 us.insert(k); -4 } - -foo.cc:1: advice: Changing initial unordered_set size from 10 to 100 saves 1025530 rehash operations. - -Hashtable Too LargeSwitch: - _GLIBCXX_PROFILE_HASHTABLE_TOO_LARGE. - Goal: Detect hashtables which are - never filled up because fewer elements than reserved are ever - inserted. - Fundamentals: Save memory, which - is good in itself and may also improve memory reference performance through - fewer cache and TLB misses.Sample runtime reduction: unknown. - Recommendation: - Set initial size to N at construction site S. - To instrument: - unordered_set, unordered_map constructor, destructor, rehash. - Analysis: - For each dynamic instance of unordered_[multi]set|map, - record initial size
[gcc r15-5364] libstdc++: Move a gcc.gnu.org link to https
https://gcc.gnu.org/g:696bd86260e268d5603fb227e276834ebd0e01b4 commit r15-5364-g696bd86260e268d5603fb227e276834ebd0e01b4 Author: Gerald Pfeifer Date: Sun Nov 17 12:36:29 2024 +0100 libstdc++: Move a gcc.gnu.org link to https libstdc++-v3: * doc/xml/manual/intro.xml: Move a gcc.gnu.org link to https. * doc/html/manual/license.html: Regenerate. Diff: --- libstdc++-v3/doc/html/manual/license.html | 2 +- libstdc++-v3/doc/xml/manual/intro.xml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/libstdc++-v3/doc/html/manual/license.html b/libstdc++-v3/doc/html/manual/license.html index e10808a8908e..f6a9e6ce6dd6 100644 --- a/libstdc++-v3/doc/html/manual/license.html +++ b/libstdc++-v3/doc/html/manual/license.html @@ -4,7 +4,7 @@ and one for the documentation. There is a license section in the FAQ regarding common questions. If you have more - questions, ask the FSF or the http://gcc.gnu.org/lists.html"; target="_top">gcc mailing list. + questions, ask the FSF or the https://gcc.gnu.org/lists.html"; target="_top">gcc mailing list. The Code: GPL The source code is distributed under the GNU General Public License version 3, with the addition under section 7 of an exception described in diff --git a/libstdc++-v3/doc/xml/manual/intro.xml b/libstdc++-v3/doc/xml/manual/intro.xml index b940e9cfa909..ed0b90d202bd 100644 --- a/libstdc++-v3/doc/xml/manual/intro.xml +++ b/libstdc++-v3/doc/xml/manual/intro.xml @@ -75,7 +75,7 @@ There is a license section in the FAQ regarding common questions. If you have more - questions, ask the FSF or the http://www.w3.org/1999/xlink"; xlink:href="http://gcc.gnu.org/lists.html";>gcc mailing list. + questions, ask the FSF or the http://www.w3.org/1999/xlink"; xlink:href="https://gcc.gnu.org/lists.html";>gcc mailing list. The Code: GPL
[gcc r15-6479] libstdc++: Delete further Profile Mode leftovers
https://gcc.gnu.org/g:60ef4b9cc9828ba994189c4bf1324e70cb5f3c7f commit r15-6479-g60ef4b9cc9828ba994189c4bf1324e70cb5f3c7f Author: Gerald Pfeifer Date: Wed Jan 1 09:05:02 2025 +0800 libstdc++: Delete further Profile Mode leftovers Commit 544be2beb1fa in 2019 remove Profile Mode and associated docs. Now also remove generated HTML files. libstdc++-v3: * doc/html/manual/profile_mode.html: Delete. * doc/html/manual/profile_mode_api.html: Ditto. * doc/html/manual/profile_mode_cost_model.html: Ditto. * doc/html/manual/profile_mode_design.html: Ditto. * doc/html/manual/profile_mode_devel.html: Ditto. * doc/html/manual/profile_mode_impl.html: Ditto. Diff: --- libstdc++-v3/doc/html/manual/profile_mode.html | 145 - libstdc++-v3/doc/html/manual/profile_mode_api.html | 9 -- .../doc/html/manual/profile_mode_cost_model.html | 17 --- .../doc/html/manual/profile_mode_design.html | 121 - .../doc/html/manual/profile_mode_devel.html| 67 -- .../doc/html/manual/profile_mode_impl.html | 50 --- 6 files changed, 409 deletions(-) diff --git a/libstdc++-v3/doc/html/manual/profile_mode.html b/libstdc++-v3/doc/html/manual/profile_mode.html deleted file mode 100644 index 39c732180ac7.. --- a/libstdc++-v3/doc/html/manual/profile_mode.html +++ /dev/null @@ -1,145 +0,0 @@ - -http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd";>http://www.w3.org/1999/xhtml";>Chapter 19. Profile ModeChapter 19. Profile ModePrev Part III. - Extensions - - NextChapter 19. Profile ModeTable of ContentsIntroUsing the Profile ModeTuning the Profile ModeDesignWrapper ModelInstrumentationRun Time BehaviorAnalysis and DiagnosticsCost ModelReportsTestingExtensions for Custom ContainersEmpirical Cost ModelImplementation IssuesStack TracesSymbolization of Instruction AddressesConcurrencyUsing the Standard Library in the Instrumentation ImplementationMalloc HooksConstruction and Destruction of Global ObjectsDeveloper InformationBig PictureHow To Add A DiagnosticDiagnosticsDiagnostic TemplateContainersHashtable Too SmallHashtable Too LargeInefficient HashVector Too SmallVector Too LargeVector to HashtableHashtable to VectorVector to List< dt>List to VectorList to Forward List (Slist)Ordered to Unordered Associative ContainerAlgorithmsSort Algorithm PerformanceData LocalityNeed Software PrefetchLinked Structure LocalityMultithreaded Data AccessData Dependence Violations at Container LevelFalse SharingStatisticsBibliographyIntro - Goal: Give performance improvement advice based on - recognition of suboptimal usage patterns of the standard library. - - Method: Wrap the standard library code. Insert - calls to an instrumentation library to record the internal state of - various components at interesting entry/exit points to/from the standard - library. Process trace, recognize suboptimal patterns, give advice. - For details, see the - https://ieeexplore.ieee.org/document/4907670/"; target="_top">Perflint - paper presented at CGO 2009. - - Strengths: - - Unintrusive solution. The application code does not require any - modification. - The advice is call context sensitive, thus capable of - identifying precisely interesting dynamic performance behavior. - - The overhead model is pay-per-view. When you turn off a diagnostic class - at compile time, its overhead disappears. - - - Drawbacks: - - You must recompile the application code with custom options. - You must run the application on representative input. - The advice is input dependent. - - The execution time will increase, in some cases by factors. - - Using the Profile Mode - This is the anticipated common workflow for program foo.cc: - -$ cat foo.cc -#include-int main() { - vector v; - for (int k = 0; k < 1024; ++k) v.insert(v.begin(), k); -} - -$ g++ -D_GLIBCXX_PROFILE foo.cc -$ ./a.out -$ cat libstdcxx-profile.txt -vector-to-list: improvement = 5: call stack = 0x804842c ... -: advice = change std::vector to std::list -vector-size: improvement = 3: call stack = 0x804842c ... -: advice = change initial container size from 0 to 1024 - - - Anatomy of a warning: - - Warning id. This is a short descriptive string for the class - that this warning belongs to. E.g., "vector-to-list". - - Estimated improvement. This is an approximation of the benefit expected - from implementing the change suggested by the warning. It is given on - a log10 scale. Negative values mean that the alternative would actually - do worse than the current choice. - In the example above, 5 comes from the fact that the overhead of - inserting at the beginning of a vector vs. a list is around 1024 * 1024 / 2, - which is around 10e5. The improvement from setting the initial size to - 1024 is in the range of 10